HDK
|
Surface node implementation for MSL. More...
#include <SurfaceNodeMsl.h>
Public Member Functions | |
SurfaceNodeMsl () | |
void | createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const override |
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... | |
virtual void | emitLightLoop (const ShaderNode &node, GenContext &context, ShaderStage &stage, const string &outColor) const |
Public Member Functions inherited from MslImplementation | |
const string & | getTarget () const override |
Public Member Functions inherited from HwImplementation | |
bool | isEditable (const ShaderInput &input) const override |
Public Member Functions inherited from ShaderNodeImpl | |
virtual | ~ShaderNodeImpl () |
virtual void | initialize (const InterfaceElement &element, GenContext &context) |
const string & | getName () const |
Return the name of this implementation. More... | |
size_t | getHash () const |
virtual void | addInputs (ShaderNode &node, GenContext &context) const |
Add additional inputs on a node. More... | |
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 | emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const |
Emit function definition for the given node instance. More... | |
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 ShaderGraph * | getGraph () const |
virtual bool | isEditable (const ShaderGraphInputSocket &) const |
Static Public Member Functions | |
static ShaderNodeImplPtr | create () |
Protected Attributes | |
ClosureContext | _callReflection |
Closure contexts for calling closure functions. More... | |
ClosureContext | _callTransmission |
ClosureContext | _callIndirect |
ClosureContext | _callEmission |
Protected Attributes inherited from ShaderNodeImpl | |
string | _name |
size_t | _hash |
Additional Inherited Members | |
Protected Types inherited from HwImplementation | |
enum | Space { MODEL_SPACE = 0, OBJECT_SPACE = 1, WORLD_SPACE = 2 } |
Protected Member Functions inherited from MslImplementation | |
MslImplementation () | |
Protected Member Functions inherited from HwImplementation | |
HwImplementation () | |
Protected Member Functions inherited from ShaderNodeImpl | |
ShaderNodeImpl () | |
Protected constructor. More... | |
Static Protected Attributes inherited from HwImplementation | |
static const string | SPACE |
Internal string constants. More... | |
static const string | INDEX |
static const string | GEOMPROP |
Surface node implementation for MSL.
Definition at line 15 of file SurfaceNodeMsl.h.
SurfaceNodeMsl::SurfaceNodeMsl | ( | ) |
|
static |
|
overridevirtual |
Create shader variables needed for the implementation of this node (e.g. uniforms, inputs and outputs). Used if the node requires input data from the application.
Reimplemented from ShaderNodeImpl.
|
overridevirtual |
Emit the function call or inline source code for given node instance in the given context.
Reimplemented from ShaderNodeImpl.
|
virtual |
|
mutableprotected |
Definition at line 33 of file SurfaceNodeMsl.h.
|
mutableprotected |
Definition at line 32 of file SurfaceNodeMsl.h.
|
mutableprotected |
Closure contexts for calling closure functions.
Definition at line 30 of file SurfaceNodeMsl.h.
|
mutableprotected |
Definition at line 31 of file SurfaceNodeMsl.h.