6#ifndef MATERIALX_OSLSHADERGENERATOR_H
7#define MATERIALX_OSLSHADERGENERATOR_H
19using OslShaderGeneratorPtr = shared_ptr<class OslShaderGenerator>;
32 const string&
getTarget()
const override {
return TARGET; }
65 extern MX_GENOSL_API
const string UNIFORMS;
66 extern MX_GENOSL_API
const string INPUTS;
67 extern MX_GENOSL_API
const string OUTPUTS;
shared_ptr< Document > DocumentPtr
A shared pointer to a Document.
Definition: Document.h:23
shared_ptr< Element > ElementPtr
A shared pointer to an Element.
Definition: Element.h:31
Macros for declaring imported and exported symbols.
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
Definition: Library.h:34
shared_ptr< ShaderGenerator > ShaderGeneratorPtr
Shared pointer to a ShaderGenerator.
Definition: Library.h:38
Base shader generator class.
A context class for shader generation.
Definition: GenContext.h:27
Base class for OSL (Open Shading Language) shader generators.
Definition: OslShaderGenerator.h:25
const string & getTarget() const override
Return a unique identifier for the target this generator is for.
Definition: OslShaderGenerator.h:32
static const string TARGET
Unique identifier for this generator target.
Definition: OslShaderGenerator.h:42
Base class for shader generators All third-party shader generators should derive from this class.
Definition: ShaderGenerator.h:30
Class representing a graph (DAG) for shader generation.
Definition: ShaderGraph.h:45
A shader stage, containing the state and resulting source code for the stage.
Definition: ShaderStage.h:124
A block of variables in a shader stage.
Definition: ShaderStage.h:53