11 #ifndef vtkGLSLModCamera_h
12 #define vtkGLSLModCamera_h
18 #include "vtkRenderingOpenGL2Module.h"
21 VTK_ABI_NAMESPACE_BEGIN
33 void EnableShiftScale(
bool coordShiftAndScaleInUse,
vtkMatrix4x4* ssMatrix);
34 void DisableShiftScale();
44 vtkActor* vtkNotUsed(actor))
override
68 unsigned int CachedLocLinkCount = 0;
73 int MCWCNormalMatrix = -1;
76 int NormalMatrix = -1;
77 int CameraParallel = -1;
vtkSmartPointer< vtkMatrix4x4 > SSMatrix
represents an object (geometry & properties) in a rendered scene
represent and manipulate 4x4 transformation matrices
bool IsUpToDate(vtkOpenGLRenderer *renderer, vtkAbstractMapper *mapper, vtkActor *actor) override
Whether mod needs to be re-applied.
virtual bool SetShaderParameters(vtkOpenGLRenderer *renderer, vtkShaderProgram *program, vtkAbstractMapper *mapper, vtkActor *actor, vtkOpenGLVertexArrayObject *VAO=nullptr)=0
bool CoordinateShiftAndScaleInUse
bool ApplyShiftAndScaleFromShader
vtkNew< vtkMatrix3x3 > TempMatrix3
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.
vtkNew< vtkMatrix4x4 > TempMatrix4
abstract class specifies interface to map data
Implement model-view-projection transforms in the OpenGL renderer.
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...
The ShaderProgram uses one or more Shader objects.