VTK  9.4.20250212
vtkWebGPUShaderProperty.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
12#ifndef vtkWebGPUShaderProperty_h
13#define vtkWebGPUShaderProperty_h
14
15#include "vtkRenderingCoreModule.h" // For export macro
16#include "vtkShaderProperty.h"
17#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
18
19VTK_ABI_NAMESPACE_BEGIN
20
21class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkWebGPUShaderProperty : public vtkObject
22{
23public:
25
30
32
39 void AddVertexShaderReplacement(const std::string&,
40 bool, // do this replacement before the default
41 const std::string&, bool){};
42 void AddFragmentShaderReplacement(const std::string&,
43 bool, // do this replacement before the default
44 const std::string&, bool){};
45 void AddGeometryShaderReplacement(const std::string&,
46 bool, // do this replacement before the default
47 const std::string&, bool){};
48 void AddTessControlShaderReplacement(const std::string&,
49 bool, // do this replacement before the default
50 const std::string&, bool){};
51 void AddTessEvaluationShaderReplacement(const std::string&,
52 bool, // do this replacement before the default
53 const std::string&, bool){};
54 int GetNumberOfShaderReplacements() { return 0; };
56 void GetNthShaderReplacement(vtkIdType, std::string&, bool&, std::string&, bool&){};
57 void ClearVertexShaderReplacement(const std::string&, bool){};
58 void ClearFragmentShaderReplacement(const std::string&, bool){};
59 void ClearGeometryShaderReplacement(const std::string&, bool){};
60 void ClearTessControlShaderReplacement(const std::string&, bool){};
61 void ClearTessEvaluationShaderReplacement(const std::string&, bool){};
69
70protected:
73
74private:
76 void operator=(const vtkWebGPUShaderProperty&) = delete;
77};
78
79VTK_ABI_NAMESPACE_END
80#endif
abstract base class for most VTK objects
Definition vtkObject.h:162
represent GPU shader properties
represent GPU shader properties
~vtkWebGPUShaderProperty() override
int GetNumberOfShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void AddVertexShaderReplacement(const std::string &, bool, const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void ClearVertexShaderReplacement(const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllVertexShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void ClearTessEvaluationShaderReplacement(const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void AddGeometryShaderReplacement(const std::string &, bool, const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllGeometryShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllFragmentShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllTessEvalShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void ClearGeometryShaderReplacement(const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void GetNthShaderReplacement(vtkIdType, std::string &, bool &, std::string &, bool &)
This function enables you to apply your own substitutions to the shader creation process.
void ClearTessControlShaderReplacement(const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void AddTessEvaluationShaderReplacement(const std::string &, bool, const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
static vtkWebGPUShaderProperty * New()
Construct object with no shader replacements.
void AddFragmentShaderReplacement(const std::string &, bool, const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllTessControlShaderReplacements()
This function enables you to apply your own substitutions to the shader creation process.
void ClearFragmentShaderReplacement(const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
std::string GetNthShaderReplacementTypeAsString(vtkIdType)
This function enables you to apply your own substitutions to the shader creation process.
void AddTessControlShaderReplacement(const std::string &, bool, const std::string &, bool)
This function enables you to apply your own substitutions to the shader creation process.
int vtkIdType
Definition vtkType.h:315
#define VTK_MARSHALAUTO