VTK  9.5.20250718
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 "vtkRenderingWebGPUModule.h" // For export macro
16#include "vtkShaderProperty.h"
17#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
18
19VTK_ABI_NAMESPACE_BEGIN
20
21class VTKRENDERINGWEBGPU_EXPORT VTK_MARSHALAUTO vtkWebGPUShaderProperty : public vtkShaderProperty
22{
23public:
25
30
32
39 void AddVertexShaderReplacement(const std::string&,
40 bool, // do this replacement before the default
41 const std::string&, bool) override{};
42 void AddFragmentShaderReplacement(const std::string&,
43 bool, // do this replacement before the default
44 const std::string&, bool) override{};
45 void AddGeometryShaderReplacement(const std::string&,
46 bool, // do this replacement before the default
47 const std::string&, bool) override{};
48 void AddTessControlShaderReplacement(const std::string&,
49 bool, // do this replacement before the default
50 const std::string&, bool) override{};
51 void AddTessEvaluationShaderReplacement(const std::string&,
52 bool, // do this replacement before the default
53 const std::string&, bool) override{};
54 int GetNumberOfShaderReplacements() override { return 0; };
55 std::string GetNthShaderReplacementTypeAsString(vtkIdType) override { return ""; };
56 void GetNthShaderReplacement(vtkIdType, std::string&, bool&, std::string&, bool&) override{};
57 void ClearVertexShaderReplacement(const std::string&, bool) override{};
58 void ClearFragmentShaderReplacement(const std::string&, bool) override{};
59 void ClearGeometryShaderReplacement(const std::string&, bool) override{};
60 void ClearTessControlShaderReplacement(const std::string&, bool) override{};
61 void ClearTessEvaluationShaderReplacement(const std::string&, bool) override{};
67 void ClearAllShaderReplacements() override{};
69
70protected:
73
74private:
76 void operator=(const vtkWebGPUShaderProperty&) = delete;
77};
78
79VTK_ABI_NAMESPACE_END
80#endif
represent GPU shader properties
represent GPU shader properties
~vtkWebGPUShaderProperty() override
void ClearTessEvaluationShaderReplacement(const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllTessEvalShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllGeometryShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void GetNthShaderReplacement(vtkIdType, std::string &, bool &, std::string &, bool &) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearFragmentShaderReplacement(const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearVertexShaderReplacement(const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
int GetNumberOfShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void ClearTessControlShaderReplacement(const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void AddTessEvaluationShaderReplacement(const std::string &, bool, const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void AddGeometryShaderReplacement(const std::string &, bool, const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void AddFragmentShaderReplacement(const std::string &, bool, const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void AddTessControlShaderReplacement(const std::string &, bool, const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllTessControlShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllVertexShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void AddVertexShaderReplacement(const std::string &, bool, const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
static vtkWebGPUShaderProperty * New()
Construct object with no shader replacements.
std::string GetNthShaderReplacementTypeAsString(vtkIdType) override
This function enables you to apply your own substitutions to the shader creation process.
void ClearAllFragmentShaderReplacements() override
This function enables you to apply your own substitutions to the shader creation process.
void ClearGeometryShaderReplacement(const std::string &, bool) override
This function enables you to apply your own substitutions to the shader creation process.
int vtkIdType
Definition vtkType.h:332
#define VTK_MARSHALAUTO