 |
VTK
9.0.1
|
Go to the documentation of this file.
30 #ifndef vtkShaderProperty_h
31 #define vtkShaderProperty_h
35 #include "vtkRenderingCoreModule.h"
77 vtkSetStringMacro(VertexShaderCode);
78 vtkGetStringMacro(VertexShaderCode);
79 vtkSetStringMacro(FragmentShaderCode);
80 vtkGetStringMacro(FragmentShaderCode);
81 vtkSetStringMacro(GeometryShaderCode);
82 vtkGetStringMacro(GeometryShaderCode);
105 const std::string& replacementValue,
bool replaceAll) = 0;
108 const std::string& replacementValue,
bool replaceAll) = 0;
111 const std::string& replacementValue,
bool replaceAll) = 0;
115 std::string& replacementValue,
bool& replaceAll) = 0;
117 const std::string& originalValue,
bool replaceFirst) = 0;
119 const std::string& originalValue,
bool replaceFirst) = 0;
121 const std::string& originalValue,
bool replaceFirst) = 0;
char * GeometryShaderCode
virtual void GetNthShaderReplacement(vtkIdType index, std::string &name, bool &replaceFirst, std::string &replacementValue, bool &replaceAll)=0
virtual void AddFragmentShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
vtkMTimeType GetShaderMTime()
GetShaderMTime returns the last time a modification was made that affected the code of the shader (ei...
virtual int GetNumberOfShaderReplacements()=0
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.
~vtkShaderProperty() override
abstract base class for most VTK objects
virtual void ClearGeometryShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
virtual void AddGeometryShaderReplacement(const std::string &originalValue, bool replaceFirst, const std::string &replacementValue, bool replaceAll)=0
a simple class to control print indentation
virtual std::string GetNthShaderReplacementTypeAsString(vtkIdType index)=0
virtual void ClearVertexShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
bool HasGeometryShaderCode()
void DeepCopy(vtkShaderProperty *p)
Assign one property to another.
vtkNew< vtkUniforms > FragmentCustomUniforms
represent GPU shader properties
virtual void ClearFragmentShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
virtual void ClearAllShaderReplacements()=0
vtkNew< vtkUniforms > VertexCustomUniforms
virtual void ClearAllGeometryShaderReplacements()=0
virtual void ClearAllVertexShaderReplacements()=0
virtual void ClearAllFragmentShaderReplacements()=0
char * FragmentShaderCode
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkUniforms > GeometryCustomUniforms
static vtkShaderProperty * New()
Construct object with no shader replacements.
bool HasFragmentShaderCode()
vtkTypeUInt32 vtkMTimeType
bool HasVertexShaderCode()
Allow the program to set the shader codes used directly instead of using the built in templates.