6#ifndef MATERIALX_OCIO_NODE_H
7#define MATERIALX_OCIO_NODE_H
9#ifdef MATERIALX_BUILD_OCIO
21MATERIALX_NAMESPACE_BEGIN
30 void initialize(
const InterfaceElement& element, GenContext& context)
override;
35 void emitFunctionCall(
const ShaderNode& node, GenContext& context, ShaderStage& stage)
39 string getFunctionName()
const;
42MATERIALX_NAMESPACE_END
Context classes for shader generation.
Interface element subclasses.
Library-wide includes and types.
shared_ptr< ShaderNodeImpl > ShaderNodeImplPtr
Shared pointer to a ShaderNodeImpl.
Definition Library.h:39
Classes for nodes created during shader generation.
Base class for shader node implementations.
Class related to holding information for shader stages.
Class handling the shader generation implementation for a node.
Definition ShaderNodeImpl.h:32
virtual void initialize(const InterfaceElement &element, GenContext &context)
Initialize with the given implementation element.
virtual void emitFunctionDefinition(const ShaderNode &node, GenContext &context, ShaderStage &stage) const
Emit function definition for the given node instance.
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.