HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LayerableNodeMdl Class Reference

#include <ClosureLayerNodeMdl.h>

+ Inheritance diagram for LayerableNodeMdl:

Public Member Functions

virtual ~LayerableNodeMdl ()=default
 
void addInputs (ShaderNode &node, GenContext &) const override
 Add additional inputs on a node. More...
 
- Public Member Functions inherited from SourceCodeNodeMdl
void initialize (const InterfaceElement &element, GenContext &context) override
 
void emitFunctionDefinition (const ShaderNode &, GenContext &, ShaderStage &) const override
 Emit function definition for the given node instance. More...
 
void emitFunctionCall (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit the function call or inline source code for given node instance in the given context. More...
 
- Public Member Functions inherited from SourceCodeNode
void initialize (const InterfaceElement &element, GenContext &context) override
 
void emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit function definition for the given node instance. More...
 
void emitFunctionCall (const ShaderNode &node, GenContext &context, ShaderStage &stage) const override
 Emit the function call or inline source code for given node instance in the given context. More...
 
- Public Member Functions inherited from ShaderNodeImpl
virtual ~ShaderNodeImpl ()
 
virtual const stringgetTarget () const
 
const stringgetName () const
 Return the name of this implementation. More...
 
size_t getHash () const
 
virtual void setValues (const Node &node, ShaderNode &shaderNode, GenContext &context) const
 Set values for additional inputs on a node. More...
 
virtual void addClassification (ShaderNode &node) const
 Add additional classifications on a node. More...
 
virtual void createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const
 
virtual void emitOutputVariables (const ShaderNode &node, GenContext &context, ShaderStage &stage) const
 Emit declaration and initialization of output variables to use in a function call. More...
 
virtual ShaderGraphgetGraph () const
 
virtual bool isEditable (const ShaderInput &) const
 
virtual bool isEditable (const ShaderGraphInputSocket &) const
 

Static Public Member Functions

static ShaderNodeImplPtr create ()
 
- Static Public Member Functions inherited from SourceCodeNodeMdl
static ShaderNodeImplPtr create ()
 
- Static Public Member Functions inherited from SourceCodeNode
static ShaderNodeImplPtr create ()
 

Additional Inherited Members

- Protected Member Functions inherited from ShaderNodeImpl
 ShaderNodeImpl ()
 Protected constructor. More...
 
- Protected Attributes inherited from SourceCodeNodeMdl
string _returnStruct
 
- Protected Attributes inherited from SourceCodeNode
bool _inlined
 
string _functionName
 
string _functionSource
 
FilePath _sourceFilename
 
- Protected Attributes inherited from ShaderNodeImpl
string _name
 
size_t _hash
 

Detailed Description

Layerable BSDF node. Because MDL does not support vertical layering the nodes are transformed in a way that the base node is passed as parameter to the top layer node. Note, not all elemental bsdfs support this kind of transformation.

Definition at line 101 of file ClosureLayerNodeMdl.h.

Constructor & Destructor Documentation

virtual LayerableNodeMdl::~LayerableNodeMdl ( )
virtualdefault

Member Function Documentation

void LayerableNodeMdl::addInputs ( ShaderNode node,
GenContext context 
) const
overridevirtual

Add additional inputs on a node.

Reimplemented from ShaderNodeImpl.

Reimplemented in CarryThinFilmParameters< LayerableNodeMdl >.

static ShaderNodeImplPtr LayerableNodeMdl::create ( )
static

The documentation for this class was generated from the following file: