VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGaussianBlurPass.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00051 #ifndef __vtkGaussianBlurPass_h 00052 #define __vtkGaussianBlurPass_h 00053 00054 #include "vtkRenderingOpenGLModule.h" // For export macro 00055 #include "vtkImageProcessingPass.h" 00056 00057 class vtkOpenGLRenderWindow; 00058 class vtkDepthPeelingPassLayerList; // Pimpl 00059 class vtkShaderProgram2; 00060 class vtkShader2; 00061 class vtkFrameBufferObject; 00062 class vtkTextureObject; 00063 00064 class VTKRENDERINGOPENGL_EXPORT vtkGaussianBlurPass : public vtkImageProcessingPass 00065 { 00066 public: 00067 static vtkGaussianBlurPass *New(); 00068 vtkTypeMacro(vtkGaussianBlurPass,vtkImageProcessingPass); 00069 void PrintSelf(ostream& os, vtkIndent indent); 00070 00071 //BTX 00073 00075 virtual void Render(const vtkRenderState *s); 00076 //ETX 00078 00081 void ReleaseGraphicsResources(vtkWindow *w); 00082 00083 protected: 00085 vtkGaussianBlurPass(); 00086 00088 virtual ~vtkGaussianBlurPass(); 00089 00091 00092 vtkFrameBufferObject *FrameBufferObject; 00093 vtkTextureObject *Pass1; // render target for the scene 00094 vtkTextureObject *Pass2; // render target for the horizontal pass 00095 vtkShaderProgram2 *BlurProgram; // blur shader 00097 00098 bool Supported; 00099 bool SupportProbed; 00100 00101 private: 00102 vtkGaussianBlurPass(const vtkGaussianBlurPass&); // Not implemented. 00103 void operator=(const vtkGaussianBlurPass&); // Not implemented. 00104 }; 00105 00106 #endif