6#ifndef MATERIALX_VKSHADERGENERATOR_H
7#define MATERIALX_VKSHADERGENERATOR_H
15MATERIALX_NAMESPACE_BEGIN
17using VkShaderGeneratorPtr = shared_ptr<class VkShaderGenerator>;
34 return std::make_shared<VkShaderGenerator>(typeSystem ? typeSystem :
TypeSystem::create());
41 const string&
getVersion()
const override {
return VERSION; }
47 static const string VERSION;
62MATERIALX_NAMESPACE_END
shared_ptr< class HwResourceBindingContext > HwResourceBindingContextPtr
Shared pointer to a HwResourceBindingContext.
Definition HwShaderGenerator.h:244
shared_ptr< ShaderGenerator > ShaderGeneratorPtr
Shared pointer to a ShaderGenerator.
Definition Library.h:37
Vulkan GLSL resource binding context.
shared_ptr< class VkResourceBindingContext > VkResourceBindingContextPtr
Shared pointer to a VkResourceBindingContext.
Definition VkResourceBindingContext.h:19
A context class for shader generation.
Definition GenContext.h:30
GlslShaderGenerator(TypeSystemPtr typeSystem)
Constructor.
A shader stage, containing the state and resulting source code for the stage.
Definition ShaderStage.h:139
static TypeSystemPtr create()
Create a new type system.
A block of variables in a shader stage.
Definition ShaderStage.h:61
const string & getTarget() const override
Return a unique identifier for the target this generator is for.
Definition VkShaderGenerator.h:38
static ShaderGeneratorPtr create(TypeSystemPtr typeSystem=nullptr)
Creator function.
Definition VkShaderGenerator.h:32
static const string TARGET
Unique identifier for this generator target.
Definition VkShaderGenerator.h:46
const string & getVersion() const override
Return the version string for the GLSL version this generator is for.
Definition VkShaderGenerator.h:41
string getVertexDataPrefix(const VariableBlock &vertexData) const override
Determine the prefix of vertex data variables.
VkShaderGenerator(TypeSystemPtr typeSystem)
Constructor.