Working with Shader Nodes

 
 
 

While you're building your render tree, there are many operations that you frequently do with the shader nodes, such as selecting and moving nodes, collapsing and expanding nodes, renaming nodes, deleting nodes, and so on. This section gives you a description of these types of operations.

Opening a Node's Property Editors

To open a node's property editor and view or modify its parameters, do one of the following:

  • Double-click the node.

or

  • Select the node and press Enter.

Nested Property Editors

A single property editor can display multiple property sets (also referred to as nested property editors). When you open the property editor of a node in a render tree, the property editors of other connected nodes are nested (or not) as follows:

  • Opening the property editor of the material node in a render tree will display the nested property editors of the shaders connected directly to the material node's input ports.

    The same is true when you open the property editor of the light node in a render tree: only those shaders that are connected directly to the light node's input ports will appear nested in its property editor.

    In this render tree example the property editor for the Glass_and_Label material node (A) displays the Mix_2colors (B) and Phong (C) shader property editors which are connected directly to its input ports. None of the other connected shader nodes' property editors are displayed.

  • Opening the property editor of any shader node in a render tree will not display the property editors of other connected shaders or image clips. A shader node displays only its own properties.

  • Opening the property editor of a shader compound in a render tree will not display the property editors of other connected shaders or image clips. A shader compound displays only its own properties.

Renaming Nodes

Every node in the render tree has a name. For example, a Phong surface shader is appropriately named "Phong". Additional Phong shaders in the same render tree are named "Phong1", "Phong2", and so on. However, these are not the most meaningful names you can give to the shader, so luckily you can rename them. You can even rename the material node this way.

To rename shader nodes

  1. Select the node that you want to rename.

  2. Do either of the following:

    • Open the node's property editor and change its name in there.

    or

    • Press F2, type the new name, and press Enter.

Selecting and Moving Nodes

The default tool in the render tree is the Select and Move tool. If a different tool is active, you can activate it by pressing the spacebar or by choosing Tools Select and Move Tool. Selected nodes are displayed with a white border and name label.

  • Click to select a node, or drag a rectangle to select all nodes within it.

  • Middle-click to branch-select a node, that is, to select a node and all nodes connected to its inputs recursively.

  • Press Shift in combination with the above to add to the selection.

  • Press Ctrl in combination with the above to toggle-select.

  • Press Ctrl+Shift in combination with the above to deselect.

  • Drag in combination with the above to move the corresponding nodes.

  • Press Ctrl+A to select all nodes.

  • Click in the background to deselect all nodes.

    TipMiddle-click and drag a Group Comment node to select and move it and all overlapping nodes. For more information about comments see Documenting Trees: Groups and Comments [ICE Fundamentals].

Collapsing and Expanding Nodes

As your render tree grows, it may become necessary to collapse some nodes to gain some real estate in your work area. Nodes can be collapsed to different degrees, depending on your needs. You can collapse/expand all of the nodes in the render tree, or only the selected nodes.

Nodes can be displayed in three possible states: Expanded, Collapsed, or Show Connections Only. This is signified by the icon in the upper-right corner of each node:

Expanding Nodes

The expanded state shows all output and input ports. This is useful when you are actively making and adjusting connections on a node. Port groups are visible, but not expanded unless there is a connection in that group.

To expand nodes

  • Do one of the following:

    • Click the icon at the top of the node so that it's in its expanded state.

    or

    • Right-click in an empty area of the render tree workspace and choose Expand All to expand all nodes.

    • Select one or more nodes and choose Expand Selected from that menu to expand only those nodes.

    or

    • Choose Show Expand All from the render tree command bar to expand all nodes.

    • Select one or more nodes and choose Show Expand Selected from that menu to expand only those nodes.

Collapsing Nodes

The collapsed state shows no ports. This can be useful when you are finished with a portion of a tree and want to simplify the view. Only the shader node names are visible.

To collapse nodes

  • Do one of the following:

    • Click the icon at the top of the node so that it's in its collapsed state.

    or

    • Right-click in an empty area of the render tree workspace and choose Collapse All to collapse all nodes.

    • Select one or more nodes and choose Collapse Selected from that menu to collapse only those nodes.

    or

    • Choose Show Collapse All from the render tree command bar to collapse all nodes.

    • Select one or more nodes and choose Show Collapse Selected from that menu to collapse only those nodes.

Showing Connections Only

Showing connections only is a partially expanded and partially collapsed state that shows all output ports but only the connected input ports. This can be useful when you are done making input connections but still want to see how they are connected.

  • Port groups are expanded to show connected ports, as well as ports that have been added to texture layers.

  • Texture layers are expanded to show their connected ports.

To show connections only for nodes

  • Do one of the following:

    • Click the icon at the top of the node so that it's in its "show connections only" state.

    or

    • Right-click in an empty area of the render tree workspace and choose Show Connections Only to show connections only for all nodes.

    or

    • Select one or more nodes and choose Show Connections Only for Selected from that menu to do so only for those nodes.

    or

    • Choose Show Show Connections Only from the render tree command bar to show connections only for all nodes.

    or

    • Select one or more nodes and choose Show Show Connections Only for Selected from that menu to do so for only those nodes.

To set the default display state for newly added nodes

  • Choose one of the following items from the Show menu:

    • Create Nodes as Expanded

    • Create Nodes as Show Connections Only

    • Create Nodes as Collapsed

Collapsing and Expanding Port Groups and Texture Layers

When a shader has a large number of ports, they are grouped in the shader's node. You can collapse and expand each group to see its ports. This is also true of texture layers that you add to a node, each of which belongs to is own port group.

The port groups are represented by triangles and bold text. When a node is expanded, you can collapse and expand these layout groups individually by clicking on the triangle.

A

Click a port group's triangle to expand or collapse the group. This group is expanded.

B

This group is collapsed.

C

Click the Layers section's triangle to collapse or expand all texture layers.

D

Click a texture layer's triangle to collapse or expand the layer.

Copying and Pasting Nodes

You can copy and paste nodes within the same render tree or to another render tree. The only node that you cannot copy and paste in this way is the Material node.

To copy and paste shader nodes in the render tree

  1. In the render tree, select one or more nodes that you want to copy.

    • Use the Ctrl key or rectangle-select in the render tree to select multiple nodes.

    • Middle-click a node to branch-select it: every node in that branch (leading up to it) is also selected.

      Middle-click a node (A) to branch-select it: all nodes leading up to it are also selected.

  2. Press Ctrl+C. Only the selected nodes are copied.

  3. In the same object's render tree or another object's render tree, click an empty region to make sure that no nodes are selected.

  4. To paste the selected node(s) into the render tree workspace, right-click an empty area of the render tree workspace and choose Paste or press Ctrl+V.

Replacing a Node

You can replace one shader with another by dragging the new shader from the preset manager and dropping it directly on top of the existing shader in the render tree. The existing shader is deleted and replaced with the new shader.

  • If possible, the new shader keeps the same connections (both input and output) of the previous shader.

  • If conversion nodes are needed to maintain the connections, they are inserted automatically.

Deleting Nodes

To delete nodes

  1. Select one or more nodes to delete.

  2. Press the Delete key to delete all selected nodes.