8#ifndef vtkGLSLModLight_h
9#define vtkGLSLModLight_h
14#include "vtkRenderingOpenGL2Module.h"
17VTK_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);
48 std::string& tessControlShader, std::string& tessEvalShader, std::string& geometryShader,
59 int LastLightComplexity = 0;
60 int LastLightCount = 0;
63 bool UsePBRTextures =
false;
64 bool UseAnisotropy =
false;
65 bool UseClearCoat =
false;
abstract class specifies interface to map data
represents an object (geometry & properties) in a rendered scene
Implement light kit support in the OpenGL renderer for vtkCellGrid.
bool SetShaderParameters(vtkOpenGLRenderer *renderer, vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkActor *actor, vtkOpenGLVertexArrayObject *VAO=nullptr) override
bool ReplaceShaderValues(vtkOpenGLRenderer *renderer, std::string &vertexShader, std::string &tessControlShader, std::string &tessEvalShader, std::string &geometryShader, std::string &fragmentShader, vtkAbstractMapper *mapper, vtkActor *actor) override
Abstract interfaces to replace shader values and apply parameters as uniform values.
bool IsUpToDate(vtkOpenGLRenderer *renderer, vtkAbstractMapper *mapper, vtkActor *actor) override
Whether mod needs to be re-applied.
static vtkGLSLModLight * New()
static LightStatsBasic GetBasicLightStats(vtkOpenGLRenderer *renderer, vtkActor *actor)
~vtkGLSLModLight() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Abstract class that helps you develop modifier for VTK GLSL shaders.
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
The ShaderProgram uses one or more Shader objects.