Overview of Building a Render Tree
The render tree workspace is where you can connect shader nodes together to build trees. The nodes in the tree can be shader nodes or shader compound nodes. Shader compounds are built from shader nodes and possibly other shader compounds.
You extend shaders by using the outputs from one shader as the inputs for one or more shader parameters. Since each node can have multiple outputs and inputs, you can connect a nearly endless number of nodes together. For example, you can use a 2D or 3D texture to control a material shader’s reflectivity and another texture to control its specularity.

|
1 |
Material node—see The Material Node. |
|
2 |
Shader node—see About Shader Nodes. |
|
3 |
Shader input port—see Shader Input and Output Ports. |
|
4 |
Shader output port—see Shader Input and Output Ports. |
|
5 |
Connection arrow—see Connecting Shader Nodes. |
|
6 |
Port group—see Ports for Parameters: The Ins and Outs. |
|
7 |
Texture Layer—see Texture Layers in the Render Tree. |
Follow these basic steps for creating a render tree and see the corresponding sections for information on each step:
1. Select an object and open a render tree—see Opening the Render Tree below.
2. Bring shaders into the render tree workspace—see Adding Shader Nodes to the Render Tree.
3. Connect the shaders together the way you want. Certain restrictions apply to what you can connect together—see About Shader Nodes and then Connecting Shader Nodes.
- Manipulate the shader nodes in different ways while you’re working in the render tree—see Working with Shader Nodes.
- Navigate around and view the nodes in the render tree workspace as you’re working—see Working in the Render Tree Workspace.
4. If you like, you can make shader compounds, which are groups of shaders contained within a single node—see Creating Shader Compounds.
There are several ways to display the render tree view:
To open the render tree
1. Select the object whose render tree you want to open.
2. Do either of the following:
• To open it in a floating window, choose View > Rendering/Texturing > Render Tree or press 7.
• To open it docked in a viewport, choose Render Tree from the Views menu.
You should see the selected element’s material node, and any connected nodes, displayed as a render tree.
3. Click the Update icon to show the shader nodes available for that object.
Setting Render Tree Preferences
You can set preferences to control some of the default render tree attributes such as the style of the connection lines and the default state of nodes (collapsed, expanded, and so on).
To set render tree preferences
• Choose Show > Preferences from the render tree’s toolbar.
or
1. From the main menu, choose File > Preferences to open the Preferences view.
2. In the explorer pane, select Editors > Render Tree to open the Render Tree Preferences property editor in the right pane.
3. Set the preferences as desired. See Render Tree Preferences for information on each option.
Realtime Shaders and the Render Tree
Realtime shaders are designed to take full advantage of the render tree. In fact, because realtime shader have no connection icons in their property editors, the render tree is the only place where you can connect them to one another. Although this section does refer to realtime shaders, it does not discuss building realtime shader trees in detail. For more information about building realtime shader trees, see Building Realtime Shader Trees [Realtime Shaders].

In most ways, realtime shaders look and behave like mental ray shaders in the render tree, but there are some differences. As such, here are a few things you should keep in mind when building realtime shader trees:
• The material node’s RealTime port is the only port that can accept realtime shader connections. Realtime shader effects that you create in the render tree are applied to an object’s material through this port.
• Most realtime shaders have very few ports. Each one has a Previous port that accepts a connection from the preceding realtime shader. Those that define textures can also accept textures from image clip nodes.
• You cannot replace realtime shaders by dragging new shaders from a browser and dropping them on existing shaders in the render tree.
For more information about realtime shaders in general, see Realtime Shaders.
Texture Layers in the Render Tree
When a shader has one or more texture layers, a new section called Layers is added to its node in the render tree. The Layers section contains a port group for each of the shader’s layers. Expanding the Layers section reveals all of the individual layer port groups. Expanding an individual texture layer’s port group reveals the ports for its Color and Mask parameters.

Layers behave exactly like any other port group in the render tree, meaning that you can connect shaders to texture layer parameters as you would to any other shader parameters. This allows you to control each texture layer with its own branch of the render tree!
For more information about layering textures, including how to work with texture layers in the render tree, see Texture Layering [Texturing].
For more information about collapsing and expanding texture layers in shader nodes, see Collapsing and Expanding Port Groups and Texture Layers.
MetaShaders in the Render Tree
MetaShaders are multi-implementation shaders that are capable of supporting several renderers simultaneously. Many of the shaders in Softimage’s shader library are MetaShaders, supporting both the mental ray and Cg renderers. In the render tree, MetaShaders behave exactly like any other shader. You can identify them in two ways.
• In the Nodes menu, all shaders have a letter next to their names, which identifies their output type (“c” for color, “s” for scalar, and so on). MetaShaders have a “m” next their names in addition to this letter.

• A small “M” appears directly above MetaShader nodes. If you expand a MetaShader node, the renderers that it supports are listed in a separate section at the bottom of the node.

Autodesk Softimage v.7.5