MaterialX 1.39.1
|
Base class for common GLSL node implementations. More...
#include <GlslShaderGenerator.h>
Public Member Functions | |
const string & | getTarget () const override |
Return an identifier for the target used by this implementation. More... | |
Public Member Functions inherited from HwImplementation | |
bool | isEditable (const ShaderInput &input) const override |
Returns true if an input is editable by users. More... | |
Public Member Functions inherited from ShaderNodeImpl | |
virtual const string & | getTarget () const |
Return an identifier for the target used by this implementation. More... | |
virtual void | initialize (const InterfaceElement &element, GenContext &context) |
Initialize with the given implementation element. More... | |
const string & | getName () const |
Return the name of this implementation. | |
size_t | getHash () const |
Return a hash for this implementation. More... | |
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 | createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const |
Create shader variables needed for the implementation of this node (e.g. More... | |
virtual void | emitFunctionDefinition (const ShaderNode &node, GenContext &context, ShaderStage &stage) const |
Emit function definition for the given node instance. More... | |
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. 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. | |
virtual ShaderGraph * | getGraph () const |
Return a pointer to the graph if this implementation is using a graph, or returns nullptr otherwise. More... | |
virtual bool | isEditable (const ShaderInput &) const |
Returns true if an input is editable by users. More... | |
virtual bool | isEditable (const ShaderGraphInputSocket &) const |
Returns true if a graph input is accessible by users. More... | |
Additional Inherited Members | |
Protected Types inherited from HwImplementation | |
enum | Space { MODEL_SPACE = 0 , OBJECT_SPACE = 1 , WORLD_SPACE = 2 } |
Protected Member Functions inherited from ShaderNodeImpl | |
ShaderNodeImpl () | |
Protected constructor. | |
Protected Attributes inherited from ShaderNodeImpl | |
string | _name |
size_t | _hash |
Static Protected Attributes inherited from HwImplementation | |
static const string | SPACE |
Internal string constants. | |
static const string | INDEX |
static const string | GEOMPROP |
Base class for common GLSL node implementations.
|
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.