 |
VTK
9.1.0
|
Go to the documentation of this file.
119 #ifndef vtkShaderProperty_h
120 #define vtkShaderProperty_h
124 #include "vtkRenderingCoreModule.h"
166 vtkSetStringMacro(VertexShaderCode);
167 vtkGetStringMacro(VertexShaderCode);
168 vtkSetStringMacro(FragmentShaderCode);
169 vtkGetStringMacro(FragmentShaderCode);
170 vtkSetStringMacro(GeometryShaderCode);
171 vtkGetStringMacro(GeometryShaderCode);
194 const std::string& replacementValue,
bool replaceAll) = 0;
197 const std::string& replacementValue,
bool replaceAll) = 0;
200 const std::string& replacementValue,
bool replaceAll) = 0;
204 std::string& replacementValue,
bool& replaceAll) = 0;
206 const std::string& originalValue,
bool replaceFirst) = 0;
208 const std::string& originalValue,
bool replaceFirst) = 0;
210 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
This function enables you to apply your own substitutions to the shader creation process.
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.
vtkMTimeType GetShaderMTime()
GetShaderMTime returns the last time a modification was made that affected the code of the shader (ei...
virtual int GetNumberOfShaderReplacements()=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.
~vtkShaderProperty() override
abstract base class for most VTK objects
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 std::string GetNthShaderReplacementTypeAsString(vtkIdType index)=0
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearVertexShaderReplacement(const std::string &originalValue, bool replaceFirst)=0
This function enables you to apply your own substitutions to the shader creation process.
bool HasGeometryShaderCode()
Allow the program to set the shader codes used directly instead of using the built in templates.
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
This function enables you to apply your own substitutions to the shader creation process.
virtual void ClearAllShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
vtkNew< vtkUniforms > VertexCustomUniforms
virtual void ClearAllGeometryShaderReplacements()=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.
virtual void ClearAllFragmentShaderReplacements()=0
This function enables you to apply your own substitutions to the shader creation process.
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()
Allow the program to set the shader codes used directly instead of using the built in templates.
vtkTypeUInt32 vtkMTimeType
bool HasVertexShaderCode()
Allow the program to set the shader codes used directly instead of using the built in templates.