6#ifndef MATERIALX_ESSLSHADERGENERATOR_H
7#define MATERIALX_ESSLSHADERGENERATOR_H
14MATERIALX_NAMESPACE_BEGIN
16using EsslShaderGeneratorPtr = shared_ptr<class EsslShaderGenerator>;
33 return std::make_shared<EsslShaderGenerator>(typeSystem ? typeSystem :
TypeSystem::create());
40 const string&
getVersion()
const override {
return VERSION; }
46 static const string VERSION;
56MATERIALX_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
EsslShaderGenerator(TypeSystemPtr typeSystem)
Constructor.
const string & getTarget() const override
Return a unique identifier for the target this generator is for.
Definition EsslShaderGenerator.h:37
static ShaderGeneratorPtr create(TypeSystemPtr typeSystem=nullptr)
Creator function.
Definition EsslShaderGenerator.h:31
static const string TARGET
Unique identifier for this generator target.
Definition EsslShaderGenerator.h:45
const string & getVersion() const override
Return the version string for the ESSL version this generator is for.
Definition EsslShaderGenerator.h:40
string getVertexDataPrefix(const VariableBlock &vertexData) const override
Determine the prefix of vertex data variables.
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