6#ifndef MATERIALX_GLSLRESOURCEBINDING_H
7#define MATERIALX_GLSLRESOURCEBINDING_H
16MATERIALX_NAMESPACE_BEGIN
29 size_t uniformBindingLocation = 0,
size_t samplerBindingLocation = 0)
31 return std::make_shared<GlslResourceBindingContext>(
32 uniformBindingLocation, samplerBindingLocation);
36 void initialize()
override;
46 ShaderStage& stage,
const std::string& structInstanceName,
47 const std::string& arraySuffix)
override;
50 void enableSeparateBindingLocations(
bool separateBindingLocation) { _separateBindingLocation = separateBindingLocation; };
57 size_t _hwUniformBindLocation = 0;
60 size_t _hwInitUniformBindLocation = 0;
63 size_t _hwSamplerBindLocation = 0;
66 size_t _hwInitSamplerBindLocation = 0;
71 bool _separateBindingLocation =
false;
74MATERIALX_NAMESPACE_END
shared_ptr< class GlslResourceBindingContext > GlslResourceBindingContextPtr
Shared pointer to a GlslResourceBindingContext.
Definition: GlslResourceBindingContext.h:19
Hardware shader generator base class.
std::set< string > StringSet
A set of strings.
Definition: Library.h:59
Macros for declaring imported and exported symbols.
A context class for shader generation.
Definition: GenContext.h:31
Class representing a resource binding for Glsl shader resources.
Definition: GlslResourceBindingContext.h:24
Class representing a context for resource binding for hardware resources.
Definition: HwShaderGenerator.h:374
A shader stage, containing the state and resulting source code for the stage.
Definition: ShaderStage.h:139
A block of variables in a shader stage.
Definition: ShaderStage.h:61