61 #ifndef vtkGLSLModPixelDebugger_h
62 #define vtkGLSLModPixelDebugger_h
67 #include "vtkRenderingOpenGL2Module.h"
70 VTK_ABI_NAMESPACE_BEGIN
86 this->SubstitutionJSONFileName = filename;
96 vtkActor* vtkNotUsed(actor))
override
98 return this->HashSubstitutionJSONFileContents() ==
99 this->LastSubstitutionJSONFileContentsToken &&
100 this->HashGLSLFilesContents() == this->LastGLSLFilesContentsToken;
120 VTK_ABI_NAMESPACE_END
std::string SubstitutionJSONFileName
represents an object (geometry & properties) in a rendered scene
virtual bool SetShaderParameters(vtkOpenGLRenderer *renderer, vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkActor *actor, vtkOpenGLVertexArrayObject *VAO=nullptr)=0
bool IsUpToDate(vtkOpenGLRenderer *renderer, vtkAbstractMapper *mapper, vtkActor *actor) override
Whether mod needs to be re-applied.
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
Allow live pixel debugging by overwriting gl_FragData[0] output.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Represent a string by its integer hash.
abstract class specifies interface to map data
Abstract class that helps you develop modifier for VTK GLSL shaders.
virtual bool ReplaceShaderValues(vtkOpenGLRenderer *renderer, std::string &vertexShader, std::string &tessControlShader, std::string &tessEvalShader, std::string &geometryShader, std::string &fragmentShader, vtkAbstractMapper *mapper, vtkActor *actor)=0
Abstract interfaces to replace shader values and apply parameters as uniform values.
vtkStringToken LastGLSLFilesContentsToken
vtkStringToken LastSubstitutionJSONFileContentsToken
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void SetSubstitutionJSONFileName(const std::string &filename)
Set this to a json file on your file system.
The ShaderProgram uses one or more Shader objects.