12#ifndef vtkOpenGLRenderPass_h
13#define vtkOpenGLRenderPass_h
16#include "vtkRenderingOpenGL2Module.h"
21VTK_ABI_NAMESPACE_BEGIN
71 vtkSetMacro(ActiveDrawBuffers,
unsigned int);
72 vtkGetMacro(ActiveDrawBuffers,
unsigned int);
100 unsigned int ActiveDrawBuffers = 0;
abstract class specifies interface to map data
a simple class to control print indentation
Abstract render pass with shader modifications.
virtual bool PostReplaceShaderValues(std::string &vertexShader, std::string &geometryShader, std::string &fragmentShader, vtkAbstractMapper *mapper, vtkProp *prop)
Use vtkShaderProgram::Substitute to replace.
void PostRender(const vtkRenderState *s)
Call after rendering to clean up the actors' information keys.
void PreRender(const vtkRenderState *s)
Call before rendering to update the actors' information keys.
virtual bool SetShaderParameters(vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkProp *prop, vtkOpenGLVertexArrayObject *VAO=nullptr)
Update the uniforms of the shader program.
virtual bool PreReplaceShaderValues(std::string &vertexShader, std::string &geometryShader, std::string &fragmentShader, vtkAbstractMapper *mapper, vtkProp *prop)
Use vtkShaderProgram::Substitute to replace.
virtual void PostRenderProp(vtkProp *prop)
Called in PreRender to give a chance to subclasses to clean up information keys.
~vtkOpenGLRenderPass() override
virtual vtkMTimeType GetShaderStageMTime()
For multi-stage render passes that need to change shader code during a single pass,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void PreRenderProp(vtkProp *prop)
Called in PreRender to give a chance to subclasses to set additional information keys.
The VertexArrayObject class uses, or emulates, vertex array objects.
abstract superclass for all actors, volumes and annotations
Perform part of the rendering of a vtkRenderer.
Context in which a vtkRenderPass will render.
The ShaderProgram uses one or more Shader objects.
vtkTypeUInt32 vtkMTimeType