MaterialX 1.39.4
Loading...
Searching...
No Matches
WgslResourceBindingContext.h
Go to the documentation of this file.
1//
2// Copyright Contributors to the MaterialX Project
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#ifndef MATERIALX_WGSLRESOURCEBINDING_H
7#define MATERIALX_WGSLRESOURCEBINDING_H
8
11
13
15
16MATERIALX_NAMESPACE_BEGIN
17
19using WgslResourceBindingContextPtr = shared_ptr<class WgslResourceBindingContext>;
20
23class MX_GENGLSL_API WgslResourceBindingContext : public VkResourceBindingContext
24{
25 public:
26 WgslResourceBindingContext(size_t uniformBindingLocation);
27
28 static WgslResourceBindingContextPtr create(size_t uniformBindingLocation = 0)
29 {
30 return std::make_shared<WgslResourceBindingContext>(uniformBindingLocation);
31 }
32
33 // Emit uniforms with binding information
34 void emitResourceBindings(GenContext& context, const VariableBlock& uniforms, ShaderStage& stage) override;
35};
36
37MATERIALX_NAMESPACE_END
38
39#endif
Macros for declaring imported and exported symbols.
Vulkan GLSL shader generator.
shared_ptr< class WgslResourceBindingContext > WgslResourceBindingContextPtr
Shared pointer to a WgslResourceBindingContext.
Definition WgslResourceBindingContext.h:19
A context class for shader generation.
Definition GenContext.h:30
A shader stage, containing the state and resulting source code for the stage.
Definition ShaderStage.h:141
A block of variables in a shader stage.
Definition ShaderStage.h:63