13 #ifndef vtkOpenGLShaderCache_h
14 #define vtkOpenGLShaderCache_h
17 #include "vtkRenderingOpenGL2Module.h"
21 VTK_ABI_NAMESPACE_BEGIN
42 vtkSetMacro(SyncGLSLShaderVersion,
bool);
43 vtkGetMacro(SyncGLSLShaderVersion,
bool);
44 vtkBooleanMacro(SyncGLSLShaderVersion,
bool);
48 virtual vtkShaderProgram* ReadyShaderProgram(
const char* vertexCode,
const char* fragmentCode,
50 virtual vtkShaderProgram* ReadyShaderProgram(
const char* vertexCode,
const char* fragmentCode,
51 const char* geometryCode,
const char* tessControlCode,
const char* tessEvalCode,
69 void ReleaseCurrentShader();
74 virtual void ReleaseGraphicsResources(
vtkWindow* win);
95 virtual vtkShaderProgram* GetShaderProgram(
const char* vertexCode,
const char* fragmentCode,
96 const char* geometryCode,
const char* tessControlCode,
const char* tessEvalCode);
97 virtual vtkShaderProgram* GetShaderProgram(std::map<vtkShader::Type, vtkShader*> shaders);
115 VTK_ABI_NAMESPACE_END
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
manage Shader Programs within a context
void SetElapsedTime(float val)
virtual void ClearLastShaderBound()
Get/Clear the last Shader bound, called by shaders as they release their graphics resources...
window superclass for vtkRenderWindow
bool SyncGLSLShaderVersion
a simple class to control print indentation
vtkShaderProgram * LastShaderBound
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.