18 #ifndef vtkOpenGLShaderProperty_h
19 #define vtkOpenGLShaderProperty_h
21 #include "vtkRenderingOpenGL2Module.h"
27 VTK_ABI_NAMESPACE_BEGIN
47 const std::string& replacementValue,
bool replaceAll)
override;
50 const std::string& replacementValue,
bool replaceAll)
override;
53 const std::string& replacementValue,
bool replaceAll)
override;
56 const std::string& replacementValue,
bool replaceAll)
override;
59 const std::string& replacementValue,
bool replaceAll)
override;
64 std::string& replacementValue,
bool& replaceAll)
override;
70 const std::string& originalValue,
bool replaceFirst)
override;
72 const std::string& originalValue,
bool replaceFirst)
override;
91 const std::string& replacementValue,
bool replaceAll);
93 const std::string& originalValue,
bool replaceFirst);
97 typedef std::map<vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
ReplacementMap;
117 #define vtkOpenGLShaderProperty_OVERRIDE_ATTRIBUTES \
118 vtkOpenGLShaderProperty::CreateOverrideAttributes()
119 VTK_ABI_NAMESPACE_END
virtual void ClearAllGeometryShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
ReplacementMap UserShaderReplacements
virtual void ClearAllFragmentShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
Attribute for vtkObjectFactory overrides.
virtual void GetNthShaderReplacement(vtkIdType index, std::string &name, bool &replaceFirst, std::string &replacementValue, bool &replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void AddVertexShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.
static vtkShaderProperty * New()
Construct object with no shader replacements.
virtual int GetNumberOfShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
Type
Available shader types.
virtual void ClearTessControlShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearAllTessControlShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
represent GPU shader properties
virtual void AddTessControlShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual std::string GetNthShaderReplacementTypeAsString(vtkIdType index)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearGeometryShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void AddGeometryShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.
a simple class to control print indentation
virtual void ClearVertexShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
const ReplacementMap & GetAllShaderReplacements()
GetAllShaderReplacements returns all user-specified shader replacements.
represent GPU shader properties
virtual void AddTessEvaluationShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearFragmentShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearTessEvaluationShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
std::map< vtkShader::ReplacementSpec, vtkShader::ReplacementValue > ReplacementMap
void DeepCopy(vtkShaderProperty *p)
Assign one property to another.
virtual void ClearAllShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearAllTessEvalShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearAllVertexShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void AddFragmentShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
This function enables you to apply your own substitutions to the shader creation process.