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;