![]() |
MaterialX 1.39.4
|
Base class for HW node implementations. More...
#include <HwShaderGenerator.h>
Public Member Functions | |
| bool | isEditable (const ShaderInput &input) const override |
| Returns true if an input is editable by users. | |
Public Member Functions inherited from ShaderNodeImpl | |
| virtual void | initialize (const InterfaceElement &element, GenContext &context) |
| Initialize with the given implementation element. | |
| const string & | getName () const |
| Return the name of this implementation. | |
| size_t | getHash () const |
| Return a hash for this implementation. | |
| virtual void | addInputs (ShaderNode &node, GenContext &context) const |
| Add additional inputs on a node. | |
| virtual void | setValues (const Node &node, ShaderNode &shaderNode, GenContext &context) const |
| Set values for additional inputs on a node. | |
| virtual void | addClassification (ShaderNode &node) const |
| Add additional classifications on a node. | |
| virtual void | createVariables (const ShaderNode &node, GenContext &context, Shader &shader) const |
| Create shader variables needed for the implementation of this node (e.g. | |
| 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. | |
| 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. | |
| virtual bool | isEditable (const ShaderGraphInputSocket &) const |
| Returns true if a graph input is accessible by users. | |
Protected Types | |
| enum | Space { MODEL_SPACE = 0 , OBJECT_SPACE = 1 , WORLD_SPACE = 2 } |
Static Protected Attributes | |
| static const string | SPACE |
| Internal string constants. | |
| static const string | INDEX |
| static const string | GEOMPROP |
Additional Inherited Members | |
Protected Member Functions inherited from ShaderNodeImpl | |
| ShaderNodeImpl () | |
| Protected constructor. | |
| bool | nodeOutputIsClosure (const ShaderNode &node) const |
| Returns true if the first output of the node is a closure This is used by SourceCodeNode and CompoundNode to generate the appropriate shader code. | |
Protected Attributes inherited from ShaderNodeImpl | |
| string | _name |
| size_t | _hash |
Base class for HW node implementations.
|
overridevirtual |
Returns true if an input is editable by users.
Editable inputs are allowed to be published as shader uniforms and hence must be presentable in a user interface. By default all inputs are considered to be editable.
Reimplemented from ShaderNodeImpl.