A shared interface for all shader, shader graph, shader graph class, and compound shader class interfaces that allow connections to their input parameters or on their contained shader or shader graph nodes.
More...
|
virtual Sint32 |
add_connection (const char *target_selector, const char *source_selector)=0 |
|
Adds a shader graph connection to a target selector from a source selector. More...
|
|
virtual Sint32 |
remove_connection (const char *target_selector)=0 |
|
Removes a shader connection to a target selector from a source selector. More...
|
|
virtual Uint32 |
get_connection_length (const char *target_name) const =0 |
|
Returns the number of connections that the target parameter has. More...
|
|
virtual const IString * |
get_connection_target_selector (const char *target_name, Uint32 connection_number) const =0 |
|
Returns the sequence of optional array selectors and struct field selectors for the connection target of the given number, or NULL if the connection is for the full parameter. More...
|
|
virtual const IString * |
get_connection_source_selector (const char *target_name, Uint32 connection_number) const =0 |
|
Returns the source selector for the connection target of the given number. More...
|
|
|
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface > |
Self |
|
Own type. More...
|
|
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > |
IID |
|
Declares the interface ID (IID) of this interface. More...
|
|
static bool |
compare_iid (const Uuid &iid) |
|
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
|
|
A shared interface for all shader, shader graph, shader graph class, and compound shader class interfaces that allow connections to their input parameters or on their contained shader or shader graph nodes.
- Note
- MetaSL is deprecated. Support for MetaSL might be removed in future releases. Use MDL instead.
Shader connections are directed from a source parameter to a target parameter. Connections can be made from and to individual array members or struct fields of a parameter. The usual array bracket notation and dot field access notation is used in a combined parameter selector, for example, "vector_params[4].x"
.
Parameter names can be individual input or output parameter names of the current object, but they can also be prefixed, separated by a dot, with a name of another node. In general, applicable parameter names are all own parameters and all parameters of all nodes visible to me that have the right data flow direction.
Applicable parameter names depend in detail on whether this interface has been obtained from an instance object (mi::IShader, mi::IShader_graph) or a class object (mi::IShader_graph_class, mi::ICompound_shader_class). For detailed information on how to use this interface with a particular instance object, it is best to refer to the apropos documentation mi::IShader, mi::IShader_graph, mi::IShader_graph_class, or mi::ICompound_shader_class.