8#ifndef vtkGLSLModLight_h
9#define vtkGLSLModLight_h
14#include "vtkRenderingOpenGL2Module.h"
17VTK_ABI_NAMESPACE_BEGIN
48 std::string& tessControlShader, std::string& tessEvalShader, std::string& geometryShader,
abstract class specifies interface to map data
represents an object (geometry & properties) in a rendered scene
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.
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
The ShaderProgram uses one or more Shader objects.