VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/OpenGL2/vtkGaussianBlurPass.h
Go to the documentation of this file.
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 =========================================================================*/
00048 #ifndef vtkGaussianBlurPass_h
00049 #define vtkGaussianBlurPass_h
00050 
00051 #include "vtkRenderingOpenGL2Module.h" // For export macro
00052 #include "vtkImageProcessingPass.h"
00053 
00054 class vtkOpenGLRenderWindow;
00055 class vtkDepthPeelingPassLayerList; // Pimpl
00056 class vtkFrameBufferObject;
00057 class vtkTextureObject;
00058 namespace vtkgl
00059 {
00060 class CellBO;
00061 }
00062 
00063 class VTKRENDERINGOPENGL2_EXPORT vtkGaussianBlurPass : public vtkImageProcessingPass
00064 {
00065 public:
00066   static vtkGaussianBlurPass *New();
00067   vtkTypeMacro(vtkGaussianBlurPass,vtkImageProcessingPass);
00068   void PrintSelf(ostream& os, vtkIndent indent);
00069 
00070   //BTX
00072 
00074   virtual void Render(const vtkRenderState *s);
00075   //ETX
00077 
00080   void ReleaseGraphicsResources(vtkWindow *w);
00081 
00082  protected:
00084   vtkGaussianBlurPass();
00085 
00087   virtual ~vtkGaussianBlurPass();
00088 
00090 
00091   vtkFrameBufferObject *FrameBufferObject;
00092   vtkTextureObject *Pass1; // render target for the scene
00093   vtkTextureObject *Pass2; // render target for the horizontal pass
00095 
00096   // Structures for the various cell types we render.
00097   vtkgl::CellBO *BlurProgram;
00098 
00099   bool Supported;
00100   bool SupportProbed;
00101 
00102  private:
00103   vtkGaussianBlurPass(const vtkGaussianBlurPass&);  // Not implemented.
00104   void operator=(const vtkGaussianBlurPass&);  // Not implemented.
00105 };
00106 
00107 #endif