• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Rendering/vtkSobelGradientMagnitudePass.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkSobelGradientMagnitudePass.h,v $
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 =========================================================================*/
00062 #ifndef __vtkSobelGradientMagnitudePass_h
00063 #define __vtkSobelGradientMagnitudePass_h
00064 
00065 #include "vtkRenderPass.h"
00066 
00067 class vtkOpenGLRenderWindow;
00068 class vtkDepthPeelingPassLayerList; // Pimpl
00069 class vtkShaderProgram2;
00070 class vtkShader2;
00071 class vtkFrameBufferObject;
00072 class vtkTextureObject;
00073 
00074 class VTK_RENDERING_EXPORT vtkSobelGradientMagnitudePass : public vtkRenderPass
00075 {
00076 public:
00077   static vtkSobelGradientMagnitudePass *New();
00078   vtkTypeRevisionMacro(vtkSobelGradientMagnitudePass,vtkRenderPass);
00079   void PrintSelf(ostream& os, vtkIndent indent);
00080 
00083   virtual void Render(const vtkRenderState *s);
00084   
00087   void ReleaseGraphicsResources(vtkWindow *w);
00088   
00090 
00094   vtkGetObjectMacro(DelegatePass,vtkRenderPass);
00095   virtual void SetDelegatePass(vtkRenderPass *delegatePass);
00097   
00098  protected:
00100   vtkSobelGradientMagnitudePass();
00101 
00103   virtual ~vtkSobelGradientMagnitudePass();
00104   
00105   vtkRenderPass *DelegatePass;
00106  
00108 
00109   vtkFrameBufferObject *FrameBufferObject;
00110   vtkTextureObject *Pass1; // render target for the scene
00111   vtkTextureObject *Gx1; // render target 0 for the first shader
00112   vtkTextureObject *Gy1; // render target 1 for the first shader
00113   vtkShaderProgram2 *Program1; // shader to compute Gx1 and Gy1
00114   vtkShaderProgram2 *Program2; // shader to compute |G| from Gx1 and Gy1
00116   
00117  private:
00118   vtkSobelGradientMagnitudePass(const vtkSobelGradientMagnitudePass&);  // Not implemented.
00119   void operator=(const vtkSobelGradientMagnitudePass&);  // Not implemented.
00120 };
00121 
00122 #endif

Generated by  doxygen 1.7.1