VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRenderPass.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 =========================================================================*/ 00047 #ifndef vtkRenderPass_h 00048 #define vtkRenderPass_h 00049 00050 #include "vtkRenderingOpenGLModule.h" // For export macro 00051 #include "vtkObject.h" 00052 00053 class vtkRenderState; 00054 class vtkWindow; 00055 class vtkRenderer; 00056 00057 class VTKRENDERINGOPENGL_EXPORT vtkRenderPass : public vtkObject 00058 { 00059 public: 00060 vtkTypeMacro(vtkRenderPass,vtkObject); 00061 void PrintSelf(ostream& os, vtkIndent indent); 00062 00063 //BTX 00065 00067 virtual void Render(const vtkRenderState *s)=0; 00068 //ETX 00070 00072 00073 vtkGetMacro(NumberOfRenderedProps,int); 00075 00078 virtual void ReleaseGraphicsResources(vtkWindow *w); 00079 00080 protected: 00082 vtkRenderPass(); 00083 00085 virtual ~vtkRenderPass(); 00086 00090 void UpdateCamera(vtkRenderer *renderer); 00091 00094 void ClearLights(vtkRenderer *renderer); 00095 00098 void UpdateLightGeometry(vtkRenderer *renderer); 00099 00102 void UpdateLights(vtkRenderer *renderer); 00103 00106 void UpdateGeometry(vtkRenderer *renderer); 00107 00109 00111 void SetLastRenderingUsedDepthPeeling(vtkRenderer *renderer, 00112 bool value); 00114 00115 int NumberOfRenderedProps; 00116 00117 private: 00118 vtkRenderPass(const vtkRenderPass&); // Not implemented. 00119 void operator=(const vtkRenderPass&); // Not implemented. 00120 }; 00121 00122 #endif