8 #ifndef vtkGLSLModLight_h
9 #define vtkGLSLModLight_h
14 #include "vtkRenderingOpenGL2Module.h"
16 VTK_ABI_NAMESPACE_BEGIN
37 vtkSetMacro(UsePBRTextures,
bool);
38 vtkGetMacro(UsePBRTextures,
bool);
40 vtkSetMacro(UseAnisotropy,
bool);
41 vtkGetMacro(UseAnisotropy,
bool);
43 vtkSetMacro(UseClearCoat,
bool);
44 vtkGetMacro(UseClearCoat,
bool);
59 int LastLightComplexity = 0;
60 int LastLightCount = 0;
63 bool UsePBRTextures =
false;
64 bool UseAnisotropy =
false;
65 bool UseClearCoat =
false;
72 unsigned int CachedLocLinkCount = 0;
75 int IntensityOpacity = -1;
76 int IntensityAmbient = -1;
77 int IntensityDiffuse = -1;
78 int IntensitySpecular = -1;
79 int ColorAmbient = -1;
80 int ColorDiffuse = -1;
81 int ColorSpecular = -1;
82 int EnableSpecular = -1;
83 int PowerSpecular = -1;
represents an object (geometry & properties) in a rendered scene
virtual bool SetShaderParameters(vtkOpenGLRenderer *renderer, vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkActor *actor, vtkOpenGLVertexArrayObject *VAO=nullptr)=0
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class specifies interface to map data
Implement light kit support in the OpenGL renderer for vtkCellGrid.
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.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual bool IsUpToDate(vtkOpenGLRenderer *renderer, vtkAbstractMapper *mapper, vtkActor *actor)=0
Whether mod needs to be re-applied.
The ShaderProgram uses one or more Shader objects.