The Shader Version Manager

 
 
 

Multiple versions of shaders and shader compounds often exist, as they are updated over time by either enhancements or bug fixes. Shaders and shader compounds that already exist in a scene are not updated automatically even if new versions are installed, but you can update them as you like using the Shader Version Manager.

The Shader Version Manager displays and allows you to select different versions of any shader or shader compound. For example, you can use the latest version of a shader in the render tree, but keep using an older version of that same shader that's used within a shader compound.

Opening the Shader Version Manager

  • Choose View Rendering/Texturing Shader Version Manager from the main menu bar.

    Only shaders and shader compounds that are currently connected to the object's render tree are displayed here.

A

Applies any change you've made in this manager to the scene. For example, if you select a different version of a shader or shader compound here, you must click the Apply button to make the changes take effect in the render tree.

B

Sorts the shaders and shader compounds in this manager according to different classifications — see Sorting the Shaders and Shader Compounds.

C

Refreshes the information in this manager with any changes you make to the scene while this manager is open.

D

Enter a string for filtering items displayed in this manager by name.

E

Recalls previous filter strings.

F

Clears the filter string (show all items in this manager).

G

Container column displays the name of the container nodes to which the shaders and shader compounds belong, such as Scene_Material, Light, or Camera.

H

Instance column displays the instance name of the shader or shader compound. This is often the same as the class name unless multiple versions of the shader or shader compound are available in the scene.

I

Class name column displays the type of shader or shader compound. This is the name that is used for scripting. For shader compounds, see step 7 in Creating a Shader Compound for more information.

J

Version column displays the current version of the shader or shader compound — see Managing the Versions. When multiple versions of a shader or shader compound exist in the scene, a triangle appears for it in this column.

Sorting the Shaders and Shader Compounds

You can sort the shaders and shader compounds by selecting an option from the menu at the top of the Shader Version Manager:

  • Sort by Classname sorts the shaders and shader compounds according to their type (class name) that is used for scripting, such as material-lambert, material-phong, soft_light, or BA_fractal4ds_scl.

  • Sort by Container sort the shaders and shader compounds according to the container nodes to which they belong, such as Scene_Material, Light, or Camera.

  • Sort by Plug-In sort the shaders and shader compounds by their plug-in name, either factory shaders and shader compounds (Softimage), Realtime shaders (such as CGFXParser or HLSLParser), mental ray shaders (mentalray), the custom shader name, or shader compounds (XSIRTCOMPOUND).

Managing the Versions

When multiple versions of a shader or shader compound are available in the scene, a triangle appears in the Version column.

Updating the Version of a Shader or Shader Compound

  1. Click the triangle (see Levels of Version Menus below) in the Version column to open a menu listing the available versions.

  2. Select the version number you want to use for the particular instance of the shader or shader compound. For example, you may want to update a shader in the render tree with version 2.0, but keep using version 1.5 of the same shader that is within a shader compound.

    The Version cell appears pink to indicate that you have changed the version number.

  3. Click the Apply button in the shader version manager to make your changes take effect in the render tree.

NoteTo select which version of the shader compound to use, you can also right-click on a shader compound's node in the render tree, choose the Version menu, then select which of the compound's versions you want to use.

Levels of Version Menus

  • From the menu for an individual shader or shader compound, select the version number to affect only that instance of the shader or shader compound.

  • The menu for a type of shader or shader compound affects all shaders or shader compounds of that class name (Sort by Classname):

    • No Change dismisses the menu without changing the grid data. Note that previous changes to the grid data are not reverted.

    • Revert to Current updates the grid data with the version currently used in the scene. Note that it does not revert changes that have already been applied.

    • Version number sets all shaders or shader compounds of that type to that version.

  • The menu for a container affects all shaders and shader compounds of all types in that container node (Sort by Container):

    • No Change dismisses the menu without changing the grid data. Note that previous changes to the grid data are not reverted.

    • Revert to Current updates the grid data with the version currently used in the scene. Note that it does not revert changes that have already been applied.

    • Latest Minor sets the grid data to the highest available minor version of the major version specified by all shaders and shader compounds in the render tree.

    • Latest sets the grid data to the highest available version for all shaders or shader compounds in the render tree.