Nodes
About Nodes
A node is the basic building block used to construct simple or complex procedural shaders (also called shaders). All nodes have the following elements except where noted:
.jpg)
Elements of a node.
1.Output: After accepting and processing any inputs plus its own values, the end result is passed to the output for connection to another node’s input. Root nodes do not have this function.
2.Node Name: This is the name of the node. By default, a number will appear when you have two or more of the same node in your shader, for example Clouds_2, Clouds_3, and so forth. You can double-click the name of the node to enter a new name if desired.
3.Show/Hide Values Button: Clicking the Values button toggles displaying the node values
(6) on and off.
4.Show/Hide Preview Button: Clicking the Preview button toggles displaying the node preview (9) on and off. Enabling previews gives you a great idea of how each step in your shader tree is contributing to the overall look, however this can increase required computing resources.
5.Node Values: This area shows the values that you can specify for the particular node.
6.Value Input: You can either input values directly in a node or connect one or more nodes to an input to modify the selected value.
7.Animation Toggle: Clicking the Animation control toggles animation on and off for the selected value. Click on the Key icon and choose Animated to enable animation for the property. The key turns white when animation is enabled.
When you specify Animated for a material node, a group named ShaderNode will be placed in the figure or prop's Parameters palette and you can use parameter dials in that group to change the values from one frame to another.
8.Preview: This displays a preview of the node’s output if the Show/Hide Preview button (#4) is enabled.
If you are running OpenGL hardware acceleration, you may be able to view the results of your procedural shaders in the Document’s Preview tab, to give you a better sense of how your rendered scene will appear. For more information previewing procedural shaders, please see Preview Tab.
The Material Room Options Menu
You can access the Options menu in one of four ways:
•Clicking the Options menu arrow at the top right corner of the Shader window.
•Clicking either mouse button on a node’s input. In this case, the Options menu will only have the New node option available and may (depending on the input) have quick access options for appropriate nodes to connect to the selected input.
•Clicking either mouse button on a node’s output.
•Right-clicking any blank area in the Shader window.
The Options menu, which varies depending on how it was accessed, has the following options:
.jpg)
Node options.
•New node: Selecting New node creates a new node. Please refer to the following section for more information about creating nodes.
•Cut: Selecting Cut places a copy of the selected node(s) into the Clipboard and deletes the originals from the Shader window along with any existing links between the cut nodes and others. This preserves any links that exist between the copied nodes.
•Copy: Use the Shift key to select multiple nodes and/or the full rote node to copy into the clipboard. Selecting Copy places a copy of the selected node(s) into the Clipboard without removing the originals from the Shader window without altering their relationships with other nodes. This preserves any links that exist between the copied nodes but does not copy links between the copied nodes and other nodes. In conjunction with the Paste command (see below), this is a great way to propagate your shader trees (or any portions you like) from shader to shader, thereby allowing you to save time by leveraging previous work.
•Paste: Selecting Paste places a copy of the node(s) stored in the Clipboard into the Shader window.
•Replace: This is typically used to replace selected nodes in a material with nodes that you have copied into your clipboard. For example, if you create a new shader tree for one material and then want to paste it into another material in your scene, first Select All nodes from the material you want to copy. Then select the material you want to replace. Select All in that material, and then choose Replace.
•Delete: Selecting Delete selected nodes deletes all selected node(s). Any links to or from deleted nodes are also lost, meaning you will need to reestablish broken connections. Please refer to Linking Nodes for information on linking/de-linking nodes.
•Apply to all: Selecting Apply to all... applies all selected nodes to all materials groups in the current object. This overrides existing connections in affected material groups but does not delete any nodes.
•Collapse to compound node: Combines the selected nodes into a compound node. For more information see Collapsing Existing Nodes into a Compound Node.
•Expand compound node: Expands the selected compound node back into its individual node components. For more information, see Expanding Compound Nodes.
•Select All: Selecting Select All selects all nodes in your shader, including the root node.
•Invert Selection: Selecting Invert Selection selects all unselected nodes and deselects all selected nodes. In essence, this function reverses your selection.
Material Room Node Connections
The Edit view of the Material room uses a plug system to connect nodes together. Node inputs typically appear on the right side of a node’s palette, and the node output typically appears in the upper-left corner of the node palette.
.jpg)
Node inputs and outputs.
You can link nodes to other nodes, thereby controlling one node’s input with another node’s output. This interaction between nodes is at the heart of the Material room’s functionality and provides nearly infinite flexibility. Node interaction works by plugging values or colors from one node into another. Although only one node’s output can be connected to another node’s input at the same time, there is no theoretical limit to how deep these interactions can go. Available memory and CPU speed will play a role in setting practical limits.
.jpg)
Several nodes can be chained together to create realistic materials.
•Selecting Nodes
•Creating Nodes
•Renaming Nodes
•Linking Nodes
•Identifying Illegal Node Connections
•De-Linking Nodes
•Moving Nodes
Selecting Nodes
To select a node, simply click any blank area within the desired node. To select multiple nodes, press and hold Shift while making your selections.
To remove a node from a selection, press the Alt (Windows) or Option (Mac) key while clicking a node to deselect it.
Creating Nodes
Creating additional nodes is the first step to creating your own shader tree (remember that all shaders have at least a root node).
To create a node, use one of the following methods:
•To create a new node anywhere in the Edit material view, right click in an empty area in the material view (1) then expand the node menu (2) to choose New Node > Category > Subcategory > Node. Then connect the new node to the locations you desire.
.jpg)
Creating a new material node.
•To create a node from the Material room Options menu, click the arrow in the upper right corner of the Material room and select New Node > Category > Subcategory > Node. Connect the new node as desired.
.jpg)
Node options menu.
•To create a new node that is automatically connected to a node input, click the desired node input to display the Options menu. Alternatively, you can drag from a node’s input to an open area in the view will pop up the new node menu. Your new node will appear with its output already linked to your current node’s input. If you access the Options menu in any other manner (see above), the new node will not be linked.
.jpg)
Click a connection to display the New Node menu, then select the desired node.
Renaming Nodes
After you create a new node, you can double-click the name field to change the name of the node to something more descriptive. Press Enter/Return to apply the new name.
.jpg)
Double-click a node name to rename it (top); After renaming (bottom).
Linking Nodes
Inputs are black when there is no connection. They are white when another node is plugged in.
Also, when your material contains more than two different types of surface root nodes (such as a PoserSurface node and a Physical Surface node), connections will gray out when you try to connect a node type that is “invalid” for that input.
.jpg)
Input connections will become dimmed when you try to connect a node to an input that is not valid.
After creating a node, you may need to link it to an input on another node. This is accomplished in one of three ways:
•Direct Link: Click the output of the node you wish to link (1) and drag the cursor over the node or shader input you wish to link to (2). Release the mouse button to complete the link.
.jpg)
Attaching a new node to the root node.
•Moving Existing Links: To move a link from one node to another, click the input you want to unlink (1) and drag the cursor off the node. Place the cursor over the new node you wish to link (2) and release the mouse button.
.jpg)
Relinking nodes.
•Clicking and dragging: Click the input you wish to connect to (1) and drag. A node connection line follows your cursor. When you release the mouse button, the New Node menu appears (2), allowing you to create a new node whose output is pre-connected to your selected input.
.jpg)
Adding a new node to a root node input.
You can link a node to as many other nodes as you wish and each node input can be linked to as many input nodes as you wish.
Identifying Illegal Node Connections
The FireFly renderer isn’t as particular about node connections as is SuperFly. You may encounter some materials that appear black in the Preview window, and one of the reasons for this is because you might have encountered or created a material that contains node connections that are illegal for either (or both) the FireFly or SuperFly renderers.
.jpg)
Materials that contain illegal node connections may appear black in the Preview renderer.
Poser provides a few ways that you can determine where the illegal connections are, and why the shader will not preview or render properly.
The Log Window
If you have the log window open when you are working on materials, the message log displays messages when you make an illegal connection. For example, if you try to connect the output of a Scatter node (Lighting > Special > Scatter) to the Diffuse Color input of the PoserSurface node, the Log window will display a Heap Check message as shown in the following figure.
.jpg)
The Log window displays error messages when illegal node connections are encountered or attempted.
Wire Connections
If you prefer not to have the Log window open, there is also an easy way to determine illegal connections in the Edit material view. Illegal connections will be displayed as dotted wires when connections between the output of a node are illegal when connected to a root node. For example, if the output of a lighting node is connected to a root node that accepts a “non- closure” input, the connecting wire will appear dotted to indicate that it will not work in Poser. The figure shown below shows the illegal connection between the Scatter node and the Diffuse Color input of the PoserSurface node. You’ll notice, however, that when you connect the Scatter node to the AltDiffuse input, the connection is not illegal, and the material previews and renders as expected.
.jpg)
Illegal node connections are displayed with dotted wires.
Connection Sockets
Indicators also happen in real-time while you are making your connections. For example, if you try to connect the output of a Scatter node into the PoserSurface node, you will notice that some of the connection inputs dim out to a gray color. When you see this happening, that gives you a visual indication not to create a connection there. On the other hand, when you see connectors that are solid black or solid white, that serves as an indication that connections to those inputs will be legal.
.jpg)
Illegal connection inputs are grayed out when you drag the output of a material node into the inputs of a root node.
De-Linking Nodes
To break the link between two nodes, click the input you want to unlink (1) and select Disconnect in the Options menu (2).
.jpg)
Adding a new node to a root node input.
Moving Nodes
You can move and arrange nodes to suit your particular work style. A node’s position has no effect on the shader’s function or appearance. To move a node or nodes:
1.Click or Shift-click the node(s) you want to move as described above.
2.Hold the mouse button down and drag the node(s) to the desired position. Release the mouse button to complete the move.
Expanding/Collapsing Nodes
You can expand and collapse a node’s values and/or material preview separately, by clicking the icons that appear in the upper right corner of the node.
.png)
Showing and hiding values and material previews.
Entering Node Values
To enter a value for a node, click the desired value to open a small window with a value field and a parameter dial. Here, you can enter a numeric value in the field and/or move the parameter dial using the mouse. You can also link one or more nodes to the desired value (see below), which will make the appropriate adjustments.
.jpg)
Manually entering node values.
Some node values are pull-down menus. Use these as you would any other pull-down menu.
.jpg)
Node options can be displayed in a pull-down menu.
Also, clicking a color within a node opens a standard Color Picker, which you can use to quickly select your desired color.
.jpg)
Colors are selected through the Color Picker.
Deleting Nodes
To delete a node, select the node you wish to delete and either press [DEL] or select Node > Delete.
Animating Nodes
You can animate node attributes by clicking the Animation Toggle (key icon) for the attribute you wish to animate. When animation is enabled, the icon appears white. When disabled, it appears gray. Clicking the Animation Toggle opens a pull-down menu with the following options:
.jpg)
Turn the Animation Toggle on (white) to animate a material.
•Animated: Selecting the Animation option toggles animation for the current attribute on or off. A check mark appears next to this menu item when animation is enabled, and vice- versa.
•Info: Each animated attribute has one or more Info options depending on the attribute. For example, a numerical node will have one Info option for its numeric value, while a color node will have three Info options (one each for red, green, and blue). Selecting one of these options allows you to set the current value, maximum and minimum limits, name, and sensitivity. This dialog is exactly the same as the Edit Parameter Dial dialog, which is discussed in Editing Parameter Dials.
•Graph: For each Info option that appears above, you will see a Graph option. Selecting a Graph option opens the Graph palette for the selected channel. Please refer to Using Graphs for more information about the Graph palette.
Once animation is enabled, you can animate the attribute’s value using any combination of the following methods:
•Keyframes: Move to a frame and set a value, then move to a different frame and set a new value.
•Graph Palette: Use the Graph palette to animate the node.
•Other nodes: Connect other nodes to control how the attribute changes over time.
Please refer to Animating with Poser for more information about animating within Poser.