47 #ifndef vtkDualDepthPeelingPass_h 48 #define vtkDualDepthPeelingPass_h 50 #include "vtkRenderingOpenGL2Module.h" 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
virtual bool ReplaceShaderValues(std::string &vertexShader, std::string &geometryShader, std::string &fragmentShader, vtkAbstractMapper *mapper, vtkProp *prop)
Is rendering at translucent geometry stage using depth peeling and rendering a layer other than the f...
Implement an Order Independent Transparency render pass.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
const vtkRenderState * RenderState
virtual bool SetShaderParameters(vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkProp *prop)
Update the uniforms of the shader program.
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.
virtual vtkMTimeType GetShaderStageMTime()
For multi-stage render passes that need to change shader code during a single pass, use this method to notify a mapper that the shader needs to be rebuilt (rather than reuse the last cached shader.
Implements the dual depth peeling algorithm.
virtual void Render(const vtkRenderState *s)
Perform rendering according to a render state s.
unsigned int OcclusionQueryId
vtkOpenGLVertexArrayObject * BackBlendVAO
Interface to OpenGL framebuffer object.
vtkOpenGLBufferObject * CopyDepthVBO
vtkOpenGLVertexArrayObject * BlendVAO
TextureName FrontDestination
The ShaderProgram uses one or more Shader objects.
void ReleaseGraphicsResources(vtkWindow *w)
Release graphics resources and ask components to release their own resources.