30 #ifndef vtkShaderProperty_h 31 #define vtkShaderProperty_h 35 #include "vtkRenderingCoreModule.h" 74 bool HasVertexShaderCode();
75 bool HasFragmentShaderCode();
76 bool HasGeometryShaderCode();
77 vtkSetStringMacro(VertexShaderCode);
78 vtkGetStringMacro(VertexShaderCode);
79 vtkSetStringMacro(FragmentShaderCode);
80 vtkGetStringMacro(FragmentShaderCode);
81 vtkSetStringMacro(GeometryShaderCode);
82 vtkGetStringMacro(GeometryShaderCode);
90 vtkGetObjectMacro(FragmentCustomUniforms,
vtkUniforms);
91 vtkGetObjectMacro(VertexCustomUniforms,
vtkUniforms);
92 vtkGetObjectMacro(GeometryCustomUniforms,
vtkUniforms);
103 virtual void AddVertexShaderReplacement(
const std::string& originalValue,
105 const std::string& replacementValue,
bool replaceAll) = 0;
106 virtual void AddFragmentShaderReplacement(
const std::string& originalValue,
108 const std::string& replacementValue,
bool replaceAll) = 0;
109 virtual void AddGeometryShaderReplacement(
const std::string& originalValue,
111 const std::string& replacementValue,
bool replaceAll) = 0;
112 virtual int GetNumberOfShaderReplacements() = 0;
115 std::string& replacementValue,
bool& replaceAll) = 0;
116 virtual void ClearVertexShaderReplacement(
117 const std::string& originalValue,
bool replaceFirst) = 0;
118 virtual void ClearFragmentShaderReplacement(
119 const std::string& originalValue,
bool replaceFirst) = 0;
120 virtual void ClearGeometryShaderReplacement(
121 const std::string& originalValue,
bool replaceFirst) = 0;
122 virtual void ClearAllVertexShaderReplacements() = 0;
123 virtual void ClearAllFragmentShaderReplacements() = 0;
124 virtual void ClearAllGeometryShaderReplacements() = 0;
125 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