ShaderΒΆ
class Shader
A Shader is a Node that can evaluate itself to a program
A Shader is an composition of ShaderNodes, which can assembled
to generate a program or a subpart of a program, and be executed in
various contexts.
For instance, a Material implements 3 different Shaders, the surface
shader, the displacement shader and the line shader. A Light also
implements a light shader, which is composed with the material surface
shader to generate final pixel shading of the rendered objects.
Hierarchy
Children classes : class Compositing , class EnvironmentShader , class Light , class Material , class RenderPass
Members
Methods:
| addnode | (
|
add a node into a shader by its filename |
| getinputsdef | ( ) | Get the definition of the shader inputs |
| getoutput | (
|
Get the first shader output node of the given type in the shader. If no outputclass is given, looks for "ShaderNodeOutputLight" in a light shader, "ShaderNodeOutputCompo" in a compositing, or "ShaderNodeSurface" otherwise. |
Inherited from class Node
Plugs:
string | Name | RW | The node name |
Methods:
| 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 |
| 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
add a node into a shader by its filename
Arguments:
filename The file name of the node to add
Return:
result The created node or nil if failed
Get the definition of the shader inputs
This method returns a table that associates the input name to a description of the input data as { Type=type, Value=value }
Return:
definition The inputs definition
Get the first shader output node of the given type in the shader. If no outputclass is given, looks for "ShaderNodeOutputLight" in a light shader, "ShaderNodeOutputCompo" in a compositing, or "ShaderNodeSurface" otherwise.
Arguments:
outputclass The class name of the output node to find
Return:
result The shader output to find, or nil if none can be found.