33 #ifndef vtkShaderProperty_h
34 #define vtkShaderProperty_h
38 #include "vtkRenderingCoreModule.h"
77 bool HasVertexShaderCode();
78 bool HasFragmentShaderCode();
79 bool HasGeometryShaderCode();
80 vtkSetStringMacro(VertexShaderCode);
81 vtkGetStringMacro(VertexShaderCode);
82 vtkSetStringMacro(FragmentShaderCode);
83 vtkGetStringMacro(FragmentShaderCode);
84 vtkSetStringMacro(GeometryShaderCode);
85 vtkGetStringMacro(GeometryShaderCode);
93 vtkGetObjectMacro(FragmentCustomUniforms,
vtkUniforms);
94 vtkGetObjectMacro(VertexCustomUniforms,
vtkUniforms);
95 vtkGetObjectMacro(GeometryCustomUniforms,
vtkUniforms);
106 virtual void AddVertexShaderReplacement(
const std::string& originalValue,
108 const std::string& replacementValue,
bool replaceAll) = 0;
109 virtual void AddFragmentShaderReplacement(
const std::string& originalValue,
111 const std::string& replacementValue,
bool replaceAll) = 0;
112 virtual void AddGeometryShaderReplacement(
const std::string& originalValue,
114 const std::string& replacementValue,
bool replaceAll) = 0;
115 virtual int GetNumberOfShaderReplacements() = 0;
118 std::string& replacementValue,
bool& replaceAll) = 0;
119 virtual void ClearVertexShaderReplacement(
120 const std::string& originalValue,
bool replaceFirst) = 0;
121 virtual void ClearFragmentShaderReplacement(
122 const std::string& originalValue,
bool replaceFirst) = 0;
123 virtual void ClearGeometryShaderReplacement(
124 const std::string& originalValue,
bool replaceFirst) = 0;
125 virtual void ClearAllVertexShaderReplacements() = 0;
126 virtual void ClearAllFragmentShaderReplacements() = 0;
127 virtual void ClearAllGeometryShaderReplacements() = 0;
128 virtual void ClearAllShaderReplacements() = 0;
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.
vtkTypeUInt32 vtkMTimeType
char * GeometryShaderCode
a simple class to control print indentation
represent GPU shader properties
vtkNew< vtkUniforms > FragmentCustomUniforms
char * FragmentShaderCode
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkUniforms > VertexCustomUniforms
vtkNew< vtkUniforms > GeometryCustomUniforms