21 #ifndef vtkShaderProperty_h
22 #define vtkShaderProperty_h
26 #include "vtkRenderingCoreModule.h"
28 VTK_ABI_NAMESPACE_BEGIN
66 bool HasVertexShaderCode();
67 bool HasFragmentShaderCode();
68 bool HasGeometryShaderCode();
69 vtkSetStringMacro(VertexShaderCode);
70 vtkGetStringMacro(VertexShaderCode);
71 vtkSetStringMacro(FragmentShaderCode);
72 vtkGetStringMacro(FragmentShaderCode);
73 vtkSetStringMacro(GeometryShaderCode);
74 vtkGetStringMacro(GeometryShaderCode);
82 vtkGetObjectMacro(FragmentCustomUniforms,
vtkUniforms);
83 vtkGetObjectMacro(VertexCustomUniforms,
vtkUniforms);
84 vtkGetObjectMacro(GeometryCustomUniforms,
vtkUniforms);
95 virtual void AddVertexShaderReplacement(
const std::string& originalValue,
97 const std::string& replacementValue,
bool replaceAll) = 0;
98 virtual void AddFragmentShaderReplacement(
const std::string& originalValue,
100 const std::string& replacementValue,
bool replaceAll) = 0;
101 virtual void AddGeometryShaderReplacement(
const std::string& originalValue,
103 const std::string& replacementValue,
bool replaceAll) = 0;
104 virtual int GetNumberOfShaderReplacements() = 0;
107 std::string& replacementValue,
bool& replaceAll) = 0;
108 virtual void ClearVertexShaderReplacement(
109 const std::string& originalValue,
bool replaceFirst) = 0;
110 virtual void ClearFragmentShaderReplacement(
111 const std::string& originalValue,
bool replaceFirst) = 0;
112 virtual void ClearGeometryShaderReplacement(
113 const std::string& originalValue,
bool replaceFirst) = 0;
114 virtual void ClearAllVertexShaderReplacements() = 0;
115 virtual void ClearAllFragmentShaderReplacements() = 0;
116 virtual void ClearAllGeometryShaderReplacements() = 0;
117 virtual void ClearAllShaderReplacements() = 0;
137 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.
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