Using Shaderballs

 
 
 

Shaderballs give you a quick preview of a material or shader using standard lighting and geometry. They update automatically as you change settings. You should note that shaderballs do not perform alpha-blending.

Shaderballs are displayed in several views, including:

There are two basic kinds of shaderball:

Softimage provides a three default shaderballs: an apple for surface materials, a cloud for volumic materials, and a grid for 2D parametric materials. You also have the option of creating your own custom shaderballs.

Shaderballs in the Render Tree

In the render tree, you can display shaderballs directly on nodes, or open them up in the shaderball viewer (see The Shaderball Viewer). In addition to showing the result of the entire tree, you can show the result of any subtree. You can also show the result of a specific output port on a multi-output shader node.

By default, shaderballs are initially displayed on nodes depending on the settings in their SPDL files. So in some cases, you will have to activate them explicitly for individual nodes using the right-click context menu, or for multiple nodes using the Show menu.

To activate or deactivate shaderballs in the render tree

  • Toggle the shaderball icon in the render tree command bar.

To restore shaderballs back to the default display

  • Choose Show Reset Shaderballs to Default.

To show or hide shaderballs for individual nodes

  • Right-click on a node's title bar or shaderball and toggle Show Shaderball.

To show or hide shaderballs for selected nodes

  • Select the desired nodes and choose Show Show Shaderballs on Selection or Hide Shaderballs on Selection.

To show or hide shaderballs for all nodes

  • Choose Show Show Shaderballs on All or Hide Shaderballs on All.

To modify the shaderball model settings for individual nodes

  • Right-click on a shaderball and choose an object or background from the Shaderball Models submenu.

The default values are those set in your preferences for spatial and parametric shaderballs. See Shaderball Preferences [Preference Reference].

To show the result of a specific output port for individual nodes

Multi-output shader nodes calculate data that can be extracted to multiple output channels, and each channel can be used separately elsewhere in the render tree. You can show the result of any available output port in the shaderball, even if it is not the actual output port that is connected and being evaluated in the render tree.

  • Right-click on the shaderball of a multi-output node and choose Shaderball Render Output [select from available outputs].

Render tree example: An Render Tree Usage shader outputs only the RGB color channels from its rgb port: this is the final result that gets rendered and displayed in the material node's shaderball. However, the shaderball for the RGBA Split shader is set to show the result of its alpha port instead. (The shaderball's background was also set to None to better display the model).

The Default Output option renders the shaderball using the port defined in the node's SPDL file as the "main output" port. In many cases, no one particular output port represents an obvious default, and this option is simply ignored. If it is not clear to you which port is associated to the Default Output by just looking at the result, then make sure to select one of the named output ports that you want the shaderball to render.

The Shaderball Viewer

The shaderball viewer is a floating window that can display shaderballs at various sizes.

A

Options menu

B

Preset sizes. You can also drag the window border to any size you want.

C

Auto-refresh. When off, press F5 to refresh manually.

To open a shaderball viewer

  • Move the mouse pointer over the node's title bar, and click the v (view) icon that appears above the node.

To open multiple shaderball viewers

  • Open one or more blank viewers by choosing View Rendering/Texturing Shaderball Viewer from the main Softimage menu.

    When multiple viewers are opened, clicking the v icon on a render tree node uses the last viewer that was opened or clicked in. This viewer has a light gray interior border.

To toggle zoomed view

  • Press Z. To restore the view, press Z again.

To get other options

You can get other options by clicking on the options icon menu.

The values for Model Default Model and Default Background are those set in your preferences for spatial and parametric shaderballs. See Shaderball Preferences [Preference Reference].

Shaderball Preferences

You can set the default model and background for each type of shaderball, the renderer to use, and the quality of the shaderball result in your Shaderball Preferences (choose File Preferences Shaderball).

Custom Shaderballs

You can create and use your own shaderballs. Shaderballs are models (*.emdl files) stored in the appropriate subfolder of the /Application/Shaderballs directory of your Softimage installation.

General Guidelines

To create a model to use as a shaderball, follow these guidelines:

  • Any properties on the model should be local, because it acts as the scene root for property inheritance. Non-local properties on objects in the model will be inherited from the model node. This includes geometry approximation, visibility, materials, and so on.

  • The objects on which the material will be previewed should have a local material with no shader connections on it. Connections will be made automatically by the shaderball engine, depending on the type of shader to be previewed. Only shaders that connect to the surface port are supported.

  • The shaderball model should include any lights necessary for illuminating the shaderball and background. The shaderball engine does not support any other form of illumination such as global illumination, final gathering, or ambience.

  • All objects in shaderball models should contain one and only one set of texture UV coordinates defined from [0, 1] in both the U and V axes. The UV coordinates should allow an ordinary image file to be seen clearly — that seamless texture you just painted won't look good with unique UVs!

  • For maximum flexibility, the shaderball model should have a vertex color property encoding the tangent information (Get Property Tangent from the Render toolbar). This allows XSINormalMap, Vertex_rgba, and Map_lookup_color shaders to display a preview.

  • A shaderball model should be centered on the origin (0, 0, 0) and the length of its widest axis should not exceed 8 units.

Parametric Shaderball Models

  • Parametric shaderballs are useful for seeing shading information that depends only on the UV parametrization, such as for images, 2D gradients, and 2D procedural textures.

  • For parametric models, the camera is orthographic and positioned roughly at (0, 8, 0) with the interest at (0, 0, 0). The FOV is 8 units at the position of the interest. Make sure to position your model appropriately.

Spatial Shaderball Models

  • Spatial models are useful when a three-dimensional object is needed to better demonstrate the results of a shader's output. It should have a surface that demonstrates the three-dimensionality of the model as much as possible in order to better see the effects of the shading.

  • Spatial models use a perspective camera positioned roughly at (5.3, 5.8, 4.5) with the interest at (-0.2, 0.65, -0.35) and the FOV is 53.6 degrees horizontally. Make sure to position your model appropriately.

Background Models

  • Background models provide the geometry that is refracted, reflected, and shadowed by the main shader ball model.

  • A background model should enclose the shaderball geometry completely. Since the camera is most likely outside the background model, the background model's geometry should have its normals face inwards (towards the shaderball model). Geometry: Visible Face should be set to Front Face Only on the Rendering tab of its Visibility property editor.

  • The background model for a spatial shaderball should be centered on (0, 0, 0) and its inner diameter should be at least 12 units.

  • Background models should not contain any lights. All illumination for the shaderball and background is provided by the shaderball model.