6 #ifndef MATERIALX_OSLNETWORKSHADERGENERATOR_H
7 #define MATERIALX_OSLNETWORKSHADERGENERATOR_H
36 return std::make_shared<OslNetworkShaderGenerator>(typeSystem ? typeSystem :
TypeSystem::create());
ShaderPtr generate(const string &name, ElementPtr element, GenContext &context) const override
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
#define MATERIALX_NAMESPACE_BEGIN
MX_GENOSL_API const string UNIFORMS
Identifiers for OSL variable blocks.
virtual ShaderPtr createShader(const string &name, ElementPtr element, GenContext &context) const
Create and initialize a new OSL shader for shader generation.
static TypeSystemPtr create()
Create a new type system.
shared_ptr< class TypeSystem > TypeSystemPtr
shared_ptr< class OslNetworkShaderGenerator > OslNetworkShaderGeneratorPtr
static ShaderGeneratorPtr create(TypeSystemPtr typeSystem=nullptr)
MX_GENOSL_API const string OUTPUTS
GLuint const GLchar * name
const string & getTarget() const override
Return a unique identifier for the target this generator is for.
static const string TARGET
Unique identifier for this generator target.
static const string TARGET
Unique identifier for this generator target.
virtual ShaderNodeImplPtr createShaderNodeImplForImplementation(const Implementation &implementation) const
Create the shader node implementation for an Implementation implementation.
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
#define MATERIALX_NAMESPACE_END
shared_ptr< ShaderGenerator > ShaderGeneratorPtr
Shared pointer to a ShaderGenerator.
MX_GENOSL_API const string INPUTS