6 #ifndef MATERIALX_COMPOUNDNODE_H
7 #define MATERIALX_COMPOUNDNODE_H
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
#define MATERIALX_NAMESPACE_BEGIN
Compound node implementation.
virtual void emitFunctionDefinition(const ShaderNode &node, GenContext &context, ShaderStage &stage) const
Emit function definition for the given node instance.
ShaderGraph * getGraph() const override
ShaderGraphPtr _rootGraph
shared_ptr< class ShaderGraph > ShaderGraphPtr
A shared pointer to a shader graph.
virtual void initialize(const InterfaceElement &element, GenContext &context)
#define MATERIALX_NAMESPACE_END
virtual void createVariables(const ShaderNode &node, GenContext &context, Shader &shader) const
virtual void emitFunctionCall(const ShaderNode &node, GenContext &context, ShaderStage &stage) const
Emit the function call or inline source code for given node instance in the given context...