47 #ifndef vtkDualDepthPeelingPass_h
48 #define vtkDualDepthPeelingPass_h
50 #include "vtkRenderingOpenGL2Module.h"
65 virtual
void PrintSelf(ostream &os,
vtkIndent indent);
68 virtual
void ReleaseGraphicsResources(
vtkWindow *w);
71 virtual
bool ReplaceShaderValues(std::
string &vertexShader,
72 std::
string &geometryShader,
73 std::
string &fragmentShader,
111 void SetCurrentStage(ShaderStage stage);
116 void FreeGLObjects();
121 void RenderTranslucentPass();
143 void InitializeOcclusionQuery();
144 void CopyOpaqueDepthBuffer();
145 void InitializeDepth();
155 void InitializeTargets();
159 void BlendBackBuffer();
160 void StartOcclusionQuery();
161 void EndOcclusionQuery();
170 void AlphaBlendRender();
172 void BlendFinalImage();
173 void DeleteOcclusionQueryId();
212 #endif // vtkDualDepthPeelingPass_h
abstract superclass for all actors, volumes and annotations
Implement an Order Independent Transparency render pass.
const vtkRenderState * RenderState
record modification and/or execution time
vtkShaderProgram * CopyDepthProgram
vtkTimeStamp CurrentStageTimeStamp
unsigned int WrittenPixels
TextureName DepthDestination
vtkOpenGLBufferObject * BackBlendVBO
vtkTypeUInt64 vtkMTimeType
vtkOpenGLBufferObject * BlendVBO
window superclass for vtkRenderWindow
unsigned int OcclusionThreshold
vtkFrameBufferObject2 * Framebuffer
Context in which a vtkRenderPass will render.
vtkShaderProgram * BlendProgram
vtkOpenGLVertexArrayObject * CopyDepthVAO
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
static vtkDepthPeelingPass * New()
vtkShaderProgram * BackBlendProgram
abstract class specifies interface to map data
abstracts an OpenGL texture object.
Implements the dual depth peeling algorithm.
unsigned int OcclusionQueryId
vtkOpenGLVertexArrayObject * BackBlendVAO
Interface to OpenGL framebuffer object.
vtkOpenGLBufferObject * CopyDepthVBO
vtkOpenGLVertexArrayObject * BlendVAO
TextureName FrontDestination
The ShaderProgram uses one or more Shader objects.