VTK  9.6.20260204
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
11
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
21
22class VTKRENDERINGWEBGPU_EXPORT VTK_MARSHALAUTO vtkWebGPUShaderProperty : public vtkShaderProperty
23{
24public:
29
31
38 void AddVertexShaderReplacement(const std::string&,
39 bool, // do this replacement before the default
40 const std::string&, bool) override{};
41 void AddFragmentShaderReplacement(const std::string&,
42 bool, // do this replacement before the default
43 const std::string&, bool) override{};
44 void AddGeometryShaderReplacement(const std::string&,
45 bool, // do this replacement before the default
46 const std::string&, bool) override{};
47 void AddTessControlShaderReplacement(const std::string&,
48 bool, // do this replacement before the default
49 const std::string&, bool) override{};
50 void AddTessEvaluationShaderReplacement(const std::string&,
51 bool, // do this replacement before the default
52 const std::string&, bool) override{};
53 int GetNumberOfShaderReplacements() override { return 0; };
54 std::string GetNthShaderReplacementTypeAsString(vtkIdType) override { return ""; };
55 void GetNthShaderReplacement(vtkIdType, std::string&, bool&, std::string&, bool&) override{};
56 void ClearVertexShaderReplacement(const std::string&, bool) override{};
57 void ClearFragmentShaderReplacement(const std::string&, bool) override{};
58 void ClearGeometryShaderReplacement(const std::string&, bool) override{};
59 void ClearTessControlShaderReplacement(const std::string&, bool) override{};
60 void ClearTessEvaluationShaderReplacement(const std::string&, bool) override{};
66 void ClearAllShaderReplacements() override{};
68
69protected:
72
73private:
75 void operator=(const vtkWebGPUShaderProperty&) = delete;
76};
77
78#define vtkWebGPUShaderProperty_OVERRIDE_ATTRIBUTES \
79 vtkWebGPUShaderProperty::CreateOverrideAttributes()
80VTK_ABI_NAMESPACE_END
81#endif
Attribute for vtkObjectFactory overrides.
~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.
static vtkOverrideAttribute * CreateOverrideAttributes()
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()
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:354
#define VTK_MARSHALAUTO
#define VTK_NEWINSTANCE