HDK
|
#include <LightShaderNodeMsl.h>
Public Member Functions | |
LightShaderNodeMsl () | |
const string & | getTarget () const override |
void | initialize (const InterfaceElement &element, GenContext &context) override |
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... | |
![]() | |
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... | |
![]() | |
virtual | ~ShaderNodeImpl () |
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 | 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 ShaderInput &) const |
virtual bool | isEditable (const ShaderGraphInputSocket &) const |
Static Public Member Functions | |
static ShaderNodeImplPtr | create () |
![]() | |
static ShaderNodeImplPtr | create () |
Protected Attributes | |
VariableBlock | _lightUniforms |
![]() | |
bool | _inlined |
string | _functionName |
string | _functionSource |
FilePath | _sourceFilename |
![]() | |
string | _name |
size_t | _hash |
Additional Inherited Members | |
![]() | |
ShaderNodeImpl () | |
Protected constructor. More... | |
LightShader node implementation for MSL Used for all light shaders implemented in source code.
Definition at line 16 of file LightShaderNodeMsl.h.
LightShaderNodeMsl::LightShaderNodeMsl | ( | ) |
|
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.
|
overridevirtual |
Return an identifier for the target used by this implementation. By default an empty string is returned, representing all targets. Only override this method if your derived node implementation class is for a specific target.
Reimplemented from ShaderNodeImpl.
|
overridevirtual |
Initialize with the given implementation element. Initialization must set the name and hash for the implementation, as well as any other data needed to emit code for the node.
Reimplemented from ShaderNodeImpl.
|
protected |
Definition at line 32 of file LightShaderNodeMsl.h.