ShaderNodeSLΒΆ
class ShaderNodeSL
Special shader node that contains a RenderMan Shading Language script.
Hierarchy
class ShaderNodeSL < class ShaderNode < class SelectableNode < class Node
Members
string | Script | RW |
The RenderMan SL script.
This script must be written in the RenderMan Shading Languague syntax.
The script must contains at least one function. The last function declared in
the script will be used as main function for this node.
Once evaluated, the node will create inputs and outputs according to the main function's prototype.
The following script will create a node with two inputs and two outputs plugs :
float addAndMul (float a, b; output float mul)
{
mul = a * b;
return a + b;
}
Use the setSL method to change this plug.
|
| setSL | (
|
Compiles the SL node script |
Inherited from class ShaderNode
string | Code | RW | The shader node default BOOTS code |
string | CodeRT | RW | The shader node BOOTS code specialized for OpenGL |
boolean | Collapsed | RW | The shader node collapse state, true for collapsed, false for expanded |
{float,float} | NodePos | RW | The shader node position in shader view |
| addaov | ( ) | create a new aov |
| addnode | (
|
add a node into a shader node by its filename |
| createinput | (
|
Create a new input |
| createoutput | (
|
Create a new output |
| fillnodefooter | (
|
Fill the template footer with custom attributes |
| fillnodeinputstemplate | (
|
Fill the template with inputs and ouputs extended controls |
| fillnodetemplate | (
|
Fill the template with custom attributes |
| fillnodetemplatefooter | (
|
Fill the template with standard node template footer, like inputs and outputs settings |
| fillnodetemplateheader | (
|
Fill the template with standard node template header, like inputs |
| getinput | (
|
Gets a child ShaderNodeIn plug by its display name |
| getoutput | (
|
Gets a child ShaderNodeOut plug by its display name |
| removeinput | (
|
Remove an input |
| removeoutput | (
|
Remove an output |
Inherited from class SelectableNode
boolean | Selected | R | True if the node is selected. Don't use this plug directly to select a node, use the Document's modifier select method. |
Inherited from class Node
string | Name | RW | The node name |
| belongstoreference | (
|
Tells if the node belongs to the reference, or a sub reference |
| delete | ( ) | Delete a node |
| eval | (
|
Called by the framework when plug (a node's plug) must be evaluated |
| findchild | (
|
Find a child node or plug using a path |
| findparent | (
|
Find the first parent Node of this Node of a specific class |
| getchild | (
|
Get a child node by its name |
| getname | ( ) | Get the Node name in its parent |
| getparent | ( ) | Get the parent Node of this Node |
| getpath | ( ) | Returns the node path as a string that can be reused with findchild |
| getreference | ( ) | Returns the reference node it is connected to |
| getreferences | (
[
|
Returns the references in the document sorted depth first. |
| getstringcopy | ( ) | Return a copy of the node and its content as a string to be pasted |
| gettopreference | ( ) | Returns the top reference node it is connected to |
| iseditable | ( ) | Indicates if the node can be edited by the user in the UI |
| isindocument | ( ) | Tells if the node is inside a document, or is pending in the void |
| ismoveable | ( ) | Tells if the node can be moved |
| isparent | (
|
Tells if this node is parent of the potential child |
| isreference | ( ) | Tells if a node comes from a reference project |
| isselected | ( ) | Tell if the node is selected |
| loadfile | (
|
load a file content in this node. Possible options are: overrideclass to enforce a specific class for the root node. |
| loadtemplate | (
|
load a template file |
| move | (
|
Move a node to a new parent |
| onpathchanged | ( ) | Called by the framework when the name of this node or of one of its parent is modified |
| pastestringcopy | (
|
Paste a string copy into this node |
| referencefile | (
|
reference a file content in this node. |
| rename | (
|
Rename a node |
| savefile | (
|
load a node to a file |
| seteditable | (
|
Change the editable state of the node |
| setflags | ( ) | Set the node flags |
Documentation
The RenderMan SL script.
This script must be written in the RenderMan Shading Languague syntax.
The script must contains at least one function. The last function declared in
the script will be used as main function for this node.
Once evaluated, the node will create inputs and outputs according to the main function's prototype.
The following script will create a node with two inputs and two outputs plugs :
float addAndMul (float a, b; output float mul)
{
mul = a * b;
return a + b;
}
Use the setSL method to change this plug.
Compiles the SL node script
value The SL script to update