6 #ifndef MATERIALX_GLSLSHADERGENERATOR_H
7 #define MATERIALX_GLSLSHADERGENERATOR_H
34 const string&
getTarget()
const override {
return TARGET; }
37 virtual const string&
getVersion()
const {
return VERSION; }
41 bool assignValue =
true)
const override;
48 virtual const string getVertexDataPrefix(
const VariableBlock& vertexData)
const;
73 virtual bool requiresLighting(
const ShaderGraph& graph)
const;
vector< ShaderNodePtr > _lightSamplingNodes
Nodes used internally for light sampling.
static const string TO_SPACE
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
static const string SPACE
Internal string constants.
#define MATERIALX_NAMESPACE_BEGIN
virtual void emitVariableDeclaration(const ShaderPort *variable, const string &qualifier, GenContext &context, ShaderStage &stage, bool assignValue=true) const
shared_ptr< class GlslShaderGenerator > GlslShaderGeneratorPtr
GLenum GLenum GLenum input
Base class for common GLSL node implementations.
static const string TARGET
Unique identifier for this generator target.
virtual bool isEditable(const ShaderInput &) const
GLuint const GLchar * name
const string & getTarget() const override
Return a unique identifier for the target this generator is for.
static const string VERSION
Version string for the generator target.
virtual ShaderPtr generate(const string &name, ElementPtr element, GenContext &context) const =0
shared_ptr< class HwResourceBindingContext > HwResourceBindingContextPtr
Shared pointer to a HwResourceBindingContext.
virtual const string & getVersion() const
Return the version string for the GLSL version this generator is for.
virtual ShaderNodeImplPtr getImplementation(const NodeDef &nodedef, GenContext &context) const
Return a registered shader node implementation for the given nodedef.
virtual const string & getTarget() const
static const string OBJECT
static const string FROM_SPACE
static const string INDEX
static const string MODEL
static const string WORLD
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
#define MATERIALX_NAMESPACE_END
static ShaderGeneratorPtr create()
shared_ptr< ShaderGenerator > ShaderGeneratorPtr
Shared pointer to a ShaderGenerator.
static const string GEOMPROP