Version 7.0

Here is a detailed summary of the new features and enhancements available in SOFTIMAGE|XSI version 7.0.

ICE - Interactive Creative Environment

Interface and Tools

Data Management

Crosswalk 3.0



Character Animation



Texturing and Maps

Motion Blur Options

Indirect Illumination

Render Tree

Material Manager



Realtime Shaders

Scene Elements

Compositing & Effects

Documentation Updates

ICE - Interactive Creative Environment

ICE (Interactive Creative Environment) is an open, scalable platform that allows you to extend the capabilities of XSI quickly and intuitively using a node-based dataflow structure that works like a tree.

ICE is actually a whole visual programming environment that’s designed to allow you to easily create interactive tools by building networks of nodes. These networks consist of nodes that get data from the scene, and nodes that modify and process this data. You then connect nodes together to create a desired effect. With this version of XSI, you can use ICE to create particle effects and deformations.


The ICE tree makes it easy to see how the pieces of data are connected together. It’s also easy to work with the nodes within this network—add new nodes, remove ones you don’t need, edit the properties of others—which allows you to quickly try out different effects. This gives you the power to create and adapt as you like.

You can use it to quickly develop complete tools from scratch. Or you don’t have to do any developing at all: you can simply use and/or modify the existing tools provided by Softimage and 3rd party developers to suit your needs.

ICE Compounds

One of the most important aspects of ICE is compounds. Compounds are nodes that you group together to do specific things, all wrapped up in one container that you can use like a node in the ICE tree. Compounds make it easy to use more complex effects without having to set up everything from scratch yourself. At any time, however, you can open up a compound and see what makes it tick. You can change the nodes’ values, add a node here, remove one there, then save it out and you have a brand new compound, just the way you like it. There are many built-in compounds that are designed specifically for ICE particle workflows.

ICE Particles

This version of XSI has an entire new particle system based on ICE. The new ICE particle toolset comes with over 200 presets that you can start using with drag and drop simplicity. Because it's built on ICE, you can open up these effects and modify them, or create entirely new effects with ICE. Simulating natural phenomena such as dust, sea salt, water droplets, sand, smoke, or sparks from a fire are as easy as drag and drop.


But ICE particles go beyond these types of things. You can make objects and even characters act like particles: rocks tumbling, pieces of paper scattered in the air, glass pieces breaking, leaves falling, grass growing, butterflies fluttering, bees buzzing, or humans walking about. Anything that you want to move like a particle can be done using ICE particles.

Integrated PhysX rigid body dynamics let you create realistic motion using particles as rigid body objects. This means that the particles can collide with each other and with other objects that are set as obstacles. Using particles as rigid bodies, especially in conjunction with instanced geometry, you can create effects that involve many small pieces that collide or accumulate, such as bricks or stones falling in a pile or being blasted apart.

ICE Particle Shaders

When you render particles, you often want them to look like certain types of phenomena, such as smoke, fog, fire, or water. To help you do this, there are some special ICE particle shaders that are designed to create these effects, and more, on the particles.

ICE Deformations

Any ICE tree that modifies point positions without adding or deleting points can be considered a deformation. A deformation works by getting current point positions, modifying them based on other variables, then setting new positions. This opens up entirely new possibilities for creating custom deformations with ICE.

Interface and Tools

Zooming with the Mouse Wheel

By default, you can zoom using the mouse wheel. Scroll forward to zoom in and backward to zoom out. Press Ctrl to zoom quickly, Shift to zoom slowly, and Ctrl+Shift to zoom even more slowly.

However, you cannot use the mouse wheel in other tools, for example, to set the radius for the brush or proportional modification; instead, press r and drag the mouse to modify the radius.

If desired, you can disable the mouse wheel zoom or restrict it to the Navigation tool so that you can use the mouse wheel with other tools.


When you set a value outside a slider range, for example by typing it in, the displayed range automatically expands to twice the current value. For example, if the default range of a parameter is between 0 and 10 and you set the value to 15, the new range is 0 to 30. However, the change is not permanent — if you set the parameter to a value within the default range and then close and reopen the property editor, the displayed range is back to its default.

Entering Values Numerically

Numeric fields allow you to set higher precision values by typing, although they continue to round the values for display. For example, if you type “0.0001” then the displayed value is “0” even if the correct value has been stored in the parameter and logged to the command history. Sliders and other ways of interacting with the numeric controls have not changed and continue to round to a specific number of decimal places.

Sticky Keys

By default, pressing and releasing a key no longer acts as a toggle. For example, pressing v a second time no longer deactivates the Translate tool. This prevents you from accidentally keying nothing if no transform tool is active.

To enable sticky keys to act as toggles as in previous versions, activate Enable Sticky Key Toggle on the Tools tab of the Interaction Preferences.

Displaying Attribute Values

You can display the values of attributes of objects and their components in the 3D views. This includes intrinsic attributes like area, volume, and point positions, as well as attributes controlled by ICE trees.

Preset Manager

The preset manager provides access to all the materials, shaders, and ICE nodes found in the factory, user, and workgroup locations. You can drag and drop items from the preset manager into other parts of XSI. You can add items to your favorites for even easier access, and you can quickly locate items by typing parts of their names.

Gamma Correction

XSI offers many ways of displaying and rendering gamma-corrected images. For an overview of all the gamma correction tools and options available in XSI.

The following gamma correction features are new in version 7.0:

Global Gamma Correction Display Preference

You can define a gamma correction display preference that stores a global lookup table built from values specified in a LUT file or from RGB gamma values that you set on the Color Management tab of the Display Preferences property editor.

Viewing Global Gamma Correction

You can select which tools and controls will display the gamma correction you specified for the global preference. On the Color Management tab of the Display Preferences property editor, set the Apply To... checkbox options to enable a display-only gamma correction in render regions, shaderballs, render previews, and in most of the color control widgets throughout XSI.

In addition, the display of gamma correction can be directly toggled (on and off) for the following color controls: color sliders (including the gradient slider), color chips, and the various color views within the color editors.

Gamma Correcting a Render Pass

You can render out gamma-corrected images for a pass by enabling the Apply Display Gamma Correction checkbox in the Render Pass Property Editor for that pass. The render pass is output using the gamma values set in the global gamma correction display preference. The images’ pixels are modified accordingly on output.

Gamma, Color Profiles, and Image Clips

XSI converts all image clips into linear floating point data. To accurately convert and render out each image clip, you can select the color space in which your original image was created. This indicates to mental ray how to convert (if necessary) the image clip from its current color space to the linear floating point color space, including whether or not any gamma correction data is stored.

As a convenience, you can also set a color profile preference that declares to mental ray the color space that you typically use to create your input images, so that by default, all newly created image clips will be converted accordingly.


There are a number of improvements in the explorer:

• Support for filtering the explorer view by user keyword has been added to the Layers, Passes, Current Layer, and Current Pass scopes, as well as to all of the Sources/Clips scopes (Sources/Clips, Animation, Audio, Images, and Materials).

• Reordering nodes in the explorer is now logged to the command history, and supports undoing and redoing.

• Scrolling the explorer with the mouse wheel now works on Linux.

Schematic View

You can now rename nodes in the schematic view. Alt+right-click (on Linux, Ctrl+Alt+right-click) on a node and choose Rename, or simply select a node and press F2.

Display Preferences

Advanced Hardware Particle Display on the General tab of the Display preferences activates hardware optimizations for displaying particles. Turn this off if you experience problems with particle display.

Automatically Displaying Property Pages

The Pop-up Property Editors on Node Creation option in the Interaction preferences is automatically turned on whenever XSI starts. This is to prevent plug-ins from turning it off while creating elements and then failing to turn it back on again when finished.

Scene Elements


There is a new object selection filter available in the Filters menu button on the Select panel: Point Cloud is for selecting ICE-based point clouds.

The ParticleCloud filter is still available for scripting for backwards-compatibility with scenes containing the older particle system. (The ParticleCloud filter was never available on the Filters menu button.)

User Keywords

The Clear User Keyword(s) command has been removed from context menus to make it harder to select by accident. To remove user keywords, choose Set User Keyword(s) and delete the string.

Data Management

Referenced Models

There have been a number of improvements to referenced models and deltas. You can now:

• Create new clusters.

• Create new cluster properties, including texture UV coordinates, vertex colors, weight maps, and envelope weight properties. You can create cluster properties on new clusters, or on clusters that pre-existed in the original model.

When you freeze cluster properties that have been added to a referenced model, the operators are removed and the final values are stored in the delta.

Clusters and cluster properties added to referenced models are designed to work with a single resolution only. You can use multiple external model files as long as the geometries have the same topology, that is, the same number of components and indices in the same order, for example, if they are duplicates. If you switch to a resolution that has a different topology, the cluster properties become unconnected, but they reconnect when you switch back to a resolution with the correct topology.

• Add deformation operators and ICE trees to the construction stack. This includes deformations on new and pre-existing clusters as well as deformations that are linked to other objects (lattices, waves, cluster centers, etc.).

• Add operators to the stacks of cluster properties, including painting and smoothing weight maps and envelope weights, modifying texture UV coordinates, etc. Note that UV modifications are frozen when the model is offloaded (including before switching resolutions or saving the scene).

• Delete any operators, clusters, properties, and cluster properties that have been added to the referenced model. Deleted items are removed from the delta.

• Save animation mixer Cache data in the delta.

In addition:

• Commands for managing referenced models have been added to the schematic view’s context menu (Alt+right-click, Ctrl+Alt+right-click on Linux). These are the same commands that are available in the context menus of the explorer and viewports.

• The Commit to Reference command has been moved to a new Advanced submenu to make it more difficult to choose by mistake. It has also been removed from the context menu for referenced models.

• Instead of a single Active checkbox, deltas have separate checkboxes for Record and Apply. The Local Modification to Save parameter group has been renamed to Recorded/Applied Modifications.

Data Management Preferences

Path to default scene allows you to specify a scene to load at startup and when starting a new scene.

Crosswalk 3.0

XSI 7.0 ships with Crosswalk version 3.0. These are the new features and improvements that have been incorporated into the Crosswalk toolset since the last release of XSI which shipped with Crosswalk version 2.04.

Crosswalk for XSI

Import Options

Import Timeline Settings: The timeline settings indicate the start frame (Frame In), the end frame (Frame Out), the Frame Rate and Format to be used when importing an .xsi file.

When enabled, the timeline settings specified in the .xsi file will overwrite the current scene’s settings. This is the default.

When disabled, no modifications are made to the current scene’s settings. This is important if you are importing assets into an existing scene that already has timeline settings that you want to preserve.

Export Options

Keep Referenced Paths Relative: When this option is on, all referenced paths (such as references to images, FX, and CGFX files) within the Crosswalk file are resolved (kept) as relative to the exported file. When this option is off, all referenced paths are resolved to absolute paths.

Export Used Materials and Images Only: When this option is enabled and you are exporting the entire scene, only the materials and images that are being used by the objects in the scene are exported.

When this option is enabled and you are exporting a selection, only the materials and images that are being used by the selected object(s) in the scene are exported. Make sure you have selected the Export Selection Only checkbox.

When this option is disabled, all materials and images defined in the scene (whether they are being used or not) are exported, regardless of whether you are exporting the entire scene or just a selection.

Check For Updates

• Click the Check For Updates button now available in both the Import and Export Crosswalk Options property editors. This opens a Netview window displaying the Softimage Crosswalk web page where you can download and update your Crosswalk installation with the most current released version.

Newly Supported Scene Elements and Attributes for dotXSI


XSI Export vs. XSI Import




On export, you can select the Keep Referenced Paths Relative checkbox (default), otherwise paths are resolved to absolute paths.

On import, any referenced paths within the Crosswalk file are automatically resolved to absolute paths.

FX and CGFX Files


Shader Compounds


Supports the import and export of shader compounds that are instantiated in the library. To do this, you need to name the compound (give it a unique Type) and then export it..

Polygon Clusters


Subdivision and triangulation are not supported. If you export your geometry as subdivided (Apply Subdivision to Geometry option) or triangulated (Convert Geometry to Triangles option), then polygon clusters will not be exported.

Refer to the following templates: XSI_PolygonList, XSI_IndexList, and XSI_ClusterInfo.

Polygon Vertex Clusters





Shape sources (Shape Keys) with weight animation is fully supported.

Refer to the following templates: XSI_ShapeAnimation, XSI_ShapeReference, and XSI_ActionClipContainer.



Tangents and binormals are stored in color at vertices (CAV) properties. Crosswalk identifies whether or not a CAV property contains tangent or binormal data as follows:

Crosswalk looks for the TangentOp2 operator.

• In XSI 6.5 and earlier, if the operator is present, tangent data is assumed and exported (binormals were not directly supported). When exporting, binormals should be recomputed by the cross product of the normals and the tangents.

• In XSI 7.0 and later, if the operator is present, then Crosswalk reads the Operator Type flag which indicates whether tangents or binormals should be exported.

If Crosswalk does not find a TangentOp2 operator, then it looks for the sub-string tangent or binormal in the CAV property’s name.

If you renamed the property and did not retain tangent or binormal as part of the name, the property will be exported as vertex colors only.



New dotXSI Templates

XSI_ActionClipContainer: contains clip data and tracks.

XSI_CameraFocalLength: overrides the fov value from the XSI_Camera template. The XSI_CameraFocalLength template is now supported as a child of the XSI_Camera template.

XSI_IndexList: contains polygon ordering information for importing clusters.

XSI_ImageFX2: Holds the extra image clip properties in addition to the properties available in the XSI_ImageFX template.

XSI_ShaderMultiPortConnection: Specifies which one of multiple output ports are connected to the input inside the containing XSI_Shader or XSI_Material template.

XSI_ShapeReference: holds the full name of the shape key.

XSI_TextureLayer: Represents a texture layer inside a shader template.

XSI_TextureLayerPort: Represents a shader port defined in a texture layer template.

XSI_UserKeyword: Stores the list of user keywords for the Material and the Image Clip.

In addition, there were several changes made to existing templates:

XSI_Action: now supports the new XSI_ShapeReference template.

XSI_ClusterInfo: now supports the polygon cluster type (previously only the vertex cluster type was supported).

XSI_Image: includes the new XSI_UserKeyword template and both the XSI_ImageFX and XSI_ImageFX2 templates.

XSI_Material: includes the new XSI_UserKeyword and XSI_TextureLayer templates.

XSI_PolygonList: includes the new XSI_IndexList template which determines the sorting order for polygons while loading clusters.

XSI_Shader: includes the new XSI_TextureLayer template.

XSI_Track: now supports the new XSI_ActionClipContainer template.

Newly Supported Scene Elements and Attributes for COLLADA


XSI Export vs. XSI Import




On export, you can select the Keep Referenced Paths Relative checkbox (default), otherwise paths are resolved to absolute paths.

On import, any referenced paths within the Crosswalk file are automatically resolved to absolute paths.

FX and CGFX Files


Polygon Clusters

Yes, on export.

No, on import.

Subdivision and triangulation are not supported. If you export your geometry as subdivided (Apply Subdivision to Geometry option) or triangulated (Convert Geometry to Triangles option), then polygon clusters will not be exported.

Polygon Vertex Clusters

Yes, on export.

No, on import.




Prior to Crosswalk version 2.5, UV texture coordinates were output to the COLLADA file format as follows:

<accessor source=”#geometries_0-channel1-array” count=”24” stride=”2”>

<param name=”U” type=”float”/>

<param name=”V” type=”float”/>


Now, instead of “U” and “V”, Crosswalk uses “S” and “T” for the parameter names as defined in the COLLADA specification.

<accessor source= “#geometries_0-channel1-array” count= “24” stride= “2”>

<param name= “S” type= “float”/>

<param name= “T” type= “float”/>


Texture Tangents


Tangents and binormals are stored in color at vertices (CAV) properties. Crosswalk identifies whether or not a CAV property contains tangent or binormal data as follows:

Crosswalk looks for the TangentOp2 operator.

• In XSI 6.5 and earlier, if the operator is present, tangent data is assumed and exported (binormals were not directly supported). When exporting, binormals should be recomputed by the cross product of the normals and the texture tangents.

• In XSI 7.0 and later, if the operator is present, then Crosswalk reads the Operator Type flag which indicates whether tangents or binormals should be exported.

If Crosswalk does not find a TangentOp2 operator, then it looks for the sub-string tangent or binormal in the CAV property’s name.

If you renamed the property and did not retain tangent or binormal as part of the name, the property will be exported as vertex colors only.

In COLLADA, tangents and binormals map to the “TEXTANGENT” and “TEXBINORMAL” semantics. Example:

<polylist count="6" material="Scene_Material">


<input semantic="TEXTANGENT" source="#geometries_0-Tangents" offset="2"/>

<input semantic="TEXBINORMAL" source="#geometries_0-Binormals" offset="3"/>


Texture Binormals


Crosswalk for Maya

Supported versions of Maya

Crosswalk for Maya supports Maya v7.0, v8.0, v8.5 and now Maya 2008.

Import Options

Animations: Update all animation. Disabling this option is useful when you are updating a scene where only the geometry has been modified.

XSI to Maya: Newly Supported Scene Elements and Attributes


XSI Export vs. Maya Import




Support for blend shapes only, including weight animation.

Note that the Maya import implementation only supports shape manager style weight animations. In other words, when importing into Maya, Crosswalk looks in the corresponding Mixer for the first instantiated animation clip using the shape key X and applies the weight curve of that clip to the blend shape X in Maya. If you create shape animation in XSI with a complex Mixer setup where more them one clip with the same shape key as its source are sequenced, mixed, or blended, regardless of this, only the first animation clip’s weight curve will be imported on the blend shape weight parameter in Maya.

Maya to XSI: Camera Interoperability

Crosswalk for Maya allows complete camera interoperability between Maya and XSI. Camera animation and attributes can be exported from Maya and successfully imported into XSI. This is particularly useful for the following workflow scenario:

1. Author geometry and animation in Maya and render your scene.

2. Using Crosswalk for Maya, export the camera and the required geometry from Maya to XSI.

3. Author specialized effects (such as ICE Particles) in XSI and render your scene.

4. Composite both the Maya and XSI rendered images. This is possible because both images are rendered with essentially identical cameras.

Camera interoperability with the Crosswalk for Maya importer is also available, however the import of camera animation from XSI into Maya is not supported.

Crosswalk for Max

Supported versions of 3ds Max

Crosswalk for Max supports 3ds Max v8, v9, and now 3ds Max 2008.

XSI to 3ds Max: Supported Scene Elements and Attributes


XSI Export vs. Max Import


Object Offset Transforms


In 3ds Max, when a geometric object has an object offset, a null is created and replaces that geometry in the hierarchy, maintaining the relationship of the existing child objects. The offset geometry becomes a child of this new null and is called <name>_ObjOff. The geometry’s local transform is set to that of the object offset. When re-importing, this hierarchy is detected and the null/geometry pair is imported as one object with its object offset transform intact.


Tweak Tool

The Tweak tool has a number of improvements:

• There is a new set of preferences for the Tweak Component tool: choose File > Preferences, expand the Tools node, and click Tweak.

- The Tweak Component tool has its own Pick Size (pixels). It no longer reuses the Move Point tool’s Move Point Pick Size.

- Boundary Pick Size (pixels) controls the tolerance in pixels for picking components on an object’s silhouette. Clicking further away than this deselects all components.

- Show Proportional Falloff on Highlight shades the points to be affected by a proportional tweak when the component under the mouse is highlighted, in addition to the proportional radius around the mouse pointer. You can deactivate this option if it is slowing performance on your computer.

• When using proportional modeling, you can adjust the Distance Limit and Falloff (Bias) of the current operation before you release the mouse button during interaction.

• Right-click and choose Last Proportional Operator to modify the settings of the last proportional tweak operation you performed. If the last proportional tweak operation applied multiple operators (for example, if you used Shift to select multiple components or if you were working in Sym mode), then this affects all of them.

• Right-click and choose Proportional Settings to modify the settings used by future operations in the current session.

Proportional Modeling

Proportional modeling has a couple of improvements:

Consider Neighborhood is now on by default. You should turn this off to use proportional modeling with particles and point clouds.

Make Default Profile copies the falloff profile to the scene defaults used in the current session. This is useful if you have modified an existing proportional operator’s profile and want to use it for future operations.

Footprints Deformation

Footprints is an example of a simulated deformation created with ICE. It lowers the points of an object where the surface of another geometric object (the deformer) is below them in the object’s local Y axis. The points stay deformed during the simulation, so you can move the deformer to create more indentations. When you return to the first frame of the simulation, the geometry returns to its initial undeformed state.



There are several improvements designed to speed up playback:

• You can specify a single viewport for playback. This preference is used when there are multiple viewports displayed and none of them are soloed — otherwise, the only displayed or soloed viewport is used. To specify a viewport for playback, choose All Views, Active View, or a specific view from the Playback > Playback View menu. If the specified viewport does not display a 3D view, XSI logs a message at the beginning of playback and uses a different view. This option is saved in your Interaction Preferences. The default viewport for playback is B.

• XSI tries to enable or disable v-sync according to the Sync Redraw to Display (v-sync) setting in Display Preferences. Disabling v-sync improves playback performance, but can result in minor visual artifacts if the frame changes during a screen redraw. This option is available only on Windows and does not work with all graphics cards and display drivers.

• By default, XSI displays “sync on” or “sync off” when showing the frame rate in a view. This lets you know whether the Sync Redraw to Display (v-sync) preference is being overridden by the display driver. If the sync state displayed in the viewport does not match the preference, you should set v-sync to “application controlled” (or equivalent) in your driver’s settings. You can turn off this display using the Show Vertical Sync (v-sync) Status in Frame Rate option on the Stats tab of the Camera Visibility Property Editor.


XSI now supports WAV files that use MPEG-3 compression, but it does not support MPEG-3 (MP3) audio files. As well, XSI does not support MPEG-1 compression or audio files having more than two channels or high-sample resolutions. This is because they use a different format than standard WAV compression methods and need to be treated specially.


• To open the expression editor in a floating window, you now press Ctrl+9 instead of Alt+9. Pressing Alt+9 now opens the ICE Tree view.

• An error has been corrected where the start and end frame parameters in expressions were evaluated in seconds instead of frames. This affects oscil, ease_in, and ease_out.

Animation Mixer

Pressing the space bar in the animation mixer no longer toggles between the Select and Rectangle Select tools: it simply activates the Select tool. To switch to the Rectangle Select tool, you must press the Q key.

You can also choose Edit > Select Tool or Edit > Rectangle Select Tool from the mixer’s command bar to activate either of these tools.

Function Curves

• In the Animation Preferences property editor, the Keys > When Adding Keys Use: Curve Creation Settings has been renamed Saved Curve Settings because it now uses the fcurve’s preference settings that were in effect when the fcurve was created or the last time a key was saved. This means that the fcurve remembers the values from the last time it used the Keys > When Adding Keys Use preference.

• The Keys > Automatic Slope command in the animation (fcurve) editor has been changed to be a combination of the Automatic and Plateau Slope command. It now computes the orientation and length of a key’s slope based on the interpolation of the fcurve between the previous key and the next key (neighboring keys) in a plateau-type manner where the slopes gradually flatten out as they approach their local maxima/minima.

The problem of the slope handles jumping when you moved a handle after breaking the slope has also been fixed because of this change.

• When moving keys on an fcurve, the ratio of the slope handle to its neighboring keys is now preserved (unless the handles are locked). As you move a handle towards or away from its neighboring keys, the handle gradually shortens or lengthens. This keeps the fcurve shape roughly the same and avoids dips or peaks that can occur when a handle gets too close to a neighboring key.

When pasting copied keys, the slope handles are lengthened or shortened in the same way to keep the fcurve shape the same (again, unless the handles are locked).

• The slope handles’ orientation constraint (Plateau, Automatic Slope, Zero Slope, etc.) that existed on the first and last keys of the copied or cut range of fcurve keys are now maintained when you paste them.

• The Unified Slope Orientation command now keeps the relative orientation between the slope handles after you adjust one of the handles individually, then turn it on again.

For example, if you turn this command off, adjust one of the slope handles, then turn Unified Slope Orientation on again, you can see that the relative angle between the slope handles is kept when you drag one of the handles.


• The new Keys > Manual Slope command (shortcut is the button in the fcurve editor toolbar) lets you freeze the current slope handles for the selected keys, then move the keys as you like without having their slope handles change orientation.

For example, let’s say you select a key and choose the Point at Neighboring Keys slope orientation command. When you move that key, its slope handles change their orientation to keeping pointing at the neighboring keys. Now if choose the Manual Slope command and move the selected key (or the neighboring keys), you’ll notice that the slope handles keep their orientation: they do not try to keep pointing at the neighboring keys.


Character Animation

There are several new ready-made characters available in the Get > Primitive > Character menu on any toolbar. These include several bipeds of different sizes and with different setups, a head rig, a face maker, man maker, a dog, and an elephant.

All characters are rigged and tagged appropriately to be used with MOTOR.


• You can now save the parameter settings that you make in the Retarget Adjustment property editor into a preset adjustment (.adj) file. Having these settings saved in a file makes it easy to then load a retargeted animation file onto numerous characters and quickly make the same adjustments.

As well, using the Save Preset and Load Preset buttons in this property editor generate script commands, which makes it possible to automate this process.

• There is a new Scale parameter in the Retarget Adjustment property editor that lets you set the overall scale of a character or prop.

• You can now quickly select a tagged element from the Tag property editor. Use the S button beside each tagged element text box to select that element on your skeleton or rig.

• You can now easily open a structure file in a text editor using the Structure File > Edit button in the Tag property editor.

• Script commands are now logged for plotting from the Mocap to Rig or Rig to Rig property editors, thus making it possible to automate plotting.



• The following forces now have Flow Viscosity parameters that let you create a drag effect: eddy, fan, toric, and wind.

• The Turbulence force has changed and now creates 4D Perlin noise so that you can now generate noise in 3D space as well as over time. As well, you can choose between Perlin and Simplex noise types.

Syflex Cloth

There are some updates to the Syflex Cloth add-on in XSI:

• New constraint: mimic. Used to make the cloth mimic another shape (the second shape must have the same topology as the cloth). Each constraint intensity has a weight map that can be painted (only for “soft” constraint, i.e. distance not 0).

• Edge collisions. Edge flag on the syCollide node.

• Sub-sampling. On syCloth. Allows to increase the precision in some cases: for instance when the collision object is too fast.

• Stickyness. New parameter on syCollide. Used to model wet t-shirts.

• Priority. New parameter on syCollide. Used when multiple collisions happen on the same points of the cloth. Only the one with the highest priority is used.

• CollideSphere + CollidePlane. Collision with primitives (faster, stronger).

• Save Cache. Used to modify a frame of the cache:

- Go to the frame where you want to modify the cache.

- Modify the Geometry (translate vertices).

- Call Save Cache.

- Then remove the MoveComponent operators from the polygon mesh in the explorer window.

• Spring map influences both the stiffness and damping (better control).

Texturing and Maps

Editing Multiple Texture UV Sets

You can edit multiple UV sets in the texture editor, either interactively or using the U and V number boxes.

The Transform UVs command has been removed from the Tools menu of the texture editor.

Gamma, Color Profiles and Image Clips

Location: Image Clip Property Editor > Adjust > Color Profile

XSI converts all image clips into linear floating point data. To accurately convert and render out each image clip, you can select the color space in which your original image was created. This option indicates to mental ray how to convert (if necessary) the image clip from its current color space to the linear floating point color space, including whether or not any gamma correction data is stored.

Location: File > Preferences > Rendering > Images > Color Profile

As a convenience, you can also set a color profile preference that declares to mental ray the color space that you typically use to create your input images, so that by default, all newly created image clips will be converted accordingly.

Displaying Multiple Alpha-Masked Textured Objects

Location: Material Node > OpenGL Display > Texture Display > Use Alpha Mask

Display Type: Textured and Textured Decal (OpenGL)

If your scene uses alpha-masked intersecting planes to represent grass, hair, trees, and other such sprites, you can get an accurate OGL Textured and Textured Decal display of these objects by selecting the material node’s OpenGL Display > Texture Display > Use Alpha Mask checkbox.

The generic OpenGL technique used in the Textured and Textured Decal display modes first tests each pixel’s depth to determine if it is the foremost pixel (the one closest to the camera). When Use Alpha Mask is enabled an additional test is performed for each pixel and if the pixel’s alpha value is 100% transparent, the pixel will not be drawn.

The result is that objects are displayed as being fully transparent where the texture image is fully transparent.

Displaying Transparency Driven By An Images Alpha Channel

Location: Surface Shader > Transparency/Reflection > Transparency > Use Alpha and Invert

Display Type: Textured and Textured Decal (OpenGL)

The Use Alpha and Invert options are now being used properly in OpenGL Textured and Textured Decal display modes when a surface shader’s transparency is being driven by an image’s alpha channel (matte).

The result is an accurate transparency display in OGL Textured and Textured Decal modes that more closely resembles a mental ray render.


You can create a standalone set of tangents and binormals (binormals are new in version 7.01) using Get > Property > Tangent and Get > Property > Binormal from any toolbar. These commands provide a convenient and flexible way of pre-processing tangent and binormal data for use in games development.

Get > Property > Tangent generates a set of tangents for a selected polygon mesh object and stores them in a color at vertices (CAV) property named Tangents.

Get > Property > Binormal generates a set of binormals for a selected polygon mesh object and stores them in a color at vertices (CAV) property named Binormals.

TangentOp2 and the Float Data Type

The new TangentOp2 operator now generates both tangent and binormal data and writes the data as unclamped floating-point color values. This means that true (unbiased) tangent and binormal values are encoded in the color at vertices (CAV) property.


For backward compatibility with realtime shaders used in existing scenes, a check is done for the data type being used in the color at vertices property on which TangentOp2 operates. If the data type is using “shorts” then TangentOp2 will write biased values. However, if the color at vertices property is using “floats”, then TangentOp2 will not bias the values. At any point you can set the Vertex Color Change Datatype parameter to get the behavior you need.

Colors at Vertices

There have been a couple of improvements to vertex colors:

• While the Paint Vertex Color tool is active, viewports under the mouse pointer temporarily change to Constant if they are currently in Wireframe mode. Otherwise, they use their current display mode. This makes it easier to see the results while still allowing you to use vertex colors to, for example, drive texture blending factors with a pixel shader.

• Polygon clusters with local materials always display the CAV property of their local material. However, the CAV property that is active for painting is still the one specified in the object’s material.

Supported Image Sources

XSI supports DirectDraw Surface format files (*.dds) as image sources on Windows only. The following subformats are supported:

• DXT1

• DXT2

• DXT3

• DXT4

• DXT5

• A16B16G16R16


For more information about the DirectX file format, consult the DirectX SDK documentation on MSDN Library website at

Render Map

Spill into empty texels is now a slider instead of a checkbox. It specifies how deeply the filled texels bleed into adjacent empty texels in the output image, in texels. A value of 0 results in no bleeding.


The Spilling slider has been added. It also specifies how deeply the filled texels bleed into adjacent empty texels in the output image, in texels. Again, a value of 0 results in no bleeding.

Motion Blur Options

Where Is the Motion Blur Tab?

The motion blur tab has been removed, but you can still adjust the mental ray motion blur settings from a number of different places in the mental ray Render Options Property Editor. These are the motion blur-specific options and their location in the property editor:

• Rendering tab > Aliasing > Motion Samples

• Rendering tab > Motion Steps

• Optimization tab > Shutter Settings

• Framebuffer tab > Motion Data

• Shadows tab > Shadow Maps > Motion Blur

Motion Samples

The Rendering > Aliasing > Motion Samples option replaces the Motion Blur > Sampling Contrast sliders. The Motion Samples option allows you to directly specify how many motion samples to take for each color sample.

Motion Vectors and Compensation

When you are rendering motion vectors (with motion or raster motion render channels) to be used in a post-processing tools pipeline, the on-frame placement of your blurred objects will now be affected by the Compensate For Object Motion setting.

The Compensate For Object Motion option is enabled by default and it dynamically adjusts the shutter offset and close values so that the object is placed at (or as close to it as possible) the location where it would normally appear if there was no motion blur enabled. When off, there is no compensation and the object is always placed at the shutter close position.


When using the Center on Frame motion blur option, you may notice that the blur does not line up with the original object position.


This is a limitation with Center on Frame that occurs when the blurred object moves along a curved path (as illustrated). The problem is that it is not possible to place the object exactly at the same position where it would appear if there was no motion blur, because the interpolation is linear between the two points on either end of the curve. In this case, you can do one of the following:

• Use the End on Frame shutter mode instead.

• If you are rendering motion vectors to be used in post-processing, enable a “motion” render channel for all passes so that all the images will line up when compositing later.

Indirect Illumination

Ambient Occlusion with Caching

mental ray now has built-in support for ambient occlusion. By default, ambient occlusion is always enabled for the scene. You can set the global ambient occlusion options from the Ambient Occlusion tab in the mental ray Render Options Property Editor. You can:

• Define the quality of the ambient occlusion by specifying the number of ambient occlusion Rays to be used for the computation of each ambient occlusion value.

Enable ambient occlusion caching for a gain in overall rendering speed. The caching mechanism is similar to that of final gathering, where occlusion values are precomputed for distinct points only and stored in a 3D map data structure for fast lookup and interpolation during the final rendering.

• Refine ambient occlusion caching by specifying the Density of the map which can help to retain more geometric details for the objects being occluded in your scene. You can also specify the number of ambient occlusion cache Points closest to the lookup location that should be used for interpolation.

Final Gathering > Accuracy > Exact Mode

mental ray has a new final gathering mode named Exact.

Exact mode bypasses the final gathering point cache entirely and always computes the full final gathering solution for every sample. This mode will yield more accurate and superior quality results because none of the final gathering points are derived by interpolating values from an initial cache of final gathering points. The only Accuracy parameter used to control this mode is the Number of Rays.

It is quite expensive to compute final gathering points for every illuminated point in the scene, so you can expect a significant increase in rendering times. This is particularly true if you are rendering animated scenes, as opposed to still frames without any animation.


Importons are “virtual particles” that are emitted from the camera and bounce towards light. Importons do not distribute energy as photons do, but instead, they contain color data that describes the factor with which the illumination at a certain location contributes to the final image.

When you enable importons for use with global illumination and caustics (optional), this illumination contribution factor is used by mental ray to decide how to distribute its computational efforts in order to get the best quality image given the available rendering resources. In this way, importons provide a supplementary mechanism for improving the rendering quality and performance of photon effects.

When you enable Irradiance Particles, importons are automatically enabled and they are used as the primary mechanism for driving the quality of irradiance particle effects.

Irradiance Particles

The new mental ray irradiance particles algorithm provides a method of calculating global illumination using importons. Irradiance particles are easy to set up in your scene and with just the default settings, you can reach a desirable illumination quality much faster than the existing solutions of global illumination photon tracing combined with final gathering.


Irradiance particles simulate some (although not all) of the indirect lighting interactions of traditional global illumination. For this reason, if you enable irradiance particles, then global illumination and final gathering are automatically turned off. Caustics can still be used together with irradiance particles to capture indirect lighting effects that irradiance particles cannot simulate.

Render Tree

Render Tree Interface

The render tree interface has been updated to include many of the features that are used in the new ICE Tree view. Here’s a summary of what the features are now:



Memo Cams. Save and restore up to four views:

• Left-click to recall stored view.

• Middle-click to store current view.

• Ctrl+Middle-click to overwrite stored view with current view.

• Right-click to clear stored view.


Lock. Prevents the view from updating when you select other objects in the scene.


Refresh. Updates the view with the object selected in the scene when the view is locked.


Clear. Clears the view.


Opens the preset manager in a floating window.


Displays or hides shaderballs on the shader nodes.


Displays or hides the preset manager embedded in the left panel (10).


Name and path of current Material node.


Bird’s Eye View. Click to view a specific area of the workspace, or drag to scroll. Toggle it on or off with Show > Bird’s Eye View.


Embedded preset manager.


The render tree workspace. This is where you can connect shader nodes together to build trees.

Render Tree Preferences

You can now access the render tree preferences directly from the render tree Show menu.

Multiple Output Shaders

The render tree now supports shader nodes with multiple output ports (also known as multi-output nodes). These nodes can extend the power of the render tree significantly, because the information calculated by the shader can be extracted to multiple data channels, and each channel can be used separately (with its own data type), instead of being combined into a single output. Multi-output nodes can serve several functions, such as the Particle Density shader that outputs both color and density at the same time to define the volume of a point cloud, or the RGBA Split shader that splits a texture’s colors and alpha into separate outputs to be used elsewhere in the render tree, and so forth.


For a listing of the new shaders with multiple output ports, see the Shaders section. The shader name is followed by (Multi-Out) where applicable.

Shader Compounds

You can now create shader compounds, which are similar in nature to compounds that you can create in the new ICE Tree view. Shader compounds are multiple shaders grouped together in one container. Compounds make it easy to use shaders in the render tree, and you can export them to use in other scenes or to share with other users.



• Changes you make to the shaderballs on nodes in the render tree, such as choosing the shaderball and background models, are now saved with the scene.

• Shaderballs can now display Boolean, integer, scalar, and vector output types.

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

Render tree example: An RGBA Split 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).


Create SSS Lightmap

If you are creating a fast subsurface scattering effect from “scratch” then you will have to generate your own lightmaps using the Fast Subsurface Scattering Lightmap Write shader.

Once you’ve made your shader node connections, you can choose User Tools > Create SSS Lightmap from the render tree command bar. This generates a lightmap image clip and writable image source for the object’s sampled material. See the Render Tree Usage section of the Lightmap Write shader for details on how to do this.

Material Manager

The material manager now includes ways to filter your materials and image clips based on scene layer and keywords. This helps you to organize and find certain materials and image clips in large scenes.

Keywords are simply tags that you give to objects, materials, and image clips to classify them in your own way. You can easily add and change keywords to both materials and image clips in the material manager by right-clicking on of their thumbnails and choosing Set User Keyword from the menu that appears.

If you use the Layers and Keywords filters in combination with the Used and Unused filters, you can significantly narrow down the selection of materials or image clips. For example, by combining the Unused filter and a selected layer, you can see materials or image clips that are not used by that layer.

The Layers and Keywords filters for the materials are on the command bar of the material manager:


The Layer and Keywords filters for image clips are on the Image Clips tab on the left panel of the material manager:


Importing and Exporting Material Libraries with Crosswalk

In XSI v.7.0, the import and export of material libraries is now fully supported by the current implementation of Crosswalk (dotXSI v.6.0). Previously, the import and export of material libraries was based on the more limited functionality of the dotXSI v.3.6 file format. Now, you can import and export only the materials and image clips for a specified material library using Crosswalk’s dotXSI v.6.0 file format. This version of dotXSI also supports the export of any associated shader compounds, texture layers, and user keywords.


Managing Render Options

The render manager’s user interface and workflows have been simplified. Most of the rendering procedures described in the documentation assume that you are using the render manager.


Anatomy of the Render Manager


Explorer panel (left panel)

Select from the explorer the various render options available for editing. You can edit render options for the scene, for the renderer, and for each pass defined in the scene. Depending on your selection, the options are displayed in the middle or right panel.

The explorer panel also contains some basic Render and Edit commands to help you while working in the render manager.


Render pass panel (middle panel)

When you select a render pass, the render options for the selected pass are displayed in the middle panel.

If you select multiple passes (Ctrl-select), you can simultaneously edit their common parameters. “Multi Edit” will appear at the top of the panel to indicate that you are in this mode.


Renderer options panel (right panel)

When you select Scene Render Options or one of the global renderers (mental ray, Hardware Renderer, etc.), the options for the selected item are displayed in the right panel.

This is also the case when you select a render pass that contains a set of local render options.

If you select multiple passes (Ctrl-select), each containing a set of local renderer options (of the same type), you can simultaneously edit their common parameters. “Multi Edit” will appear at the top of the panel to indicate that you are in this mode. If your selected passes use different renderers then “Mixed Selection” will appear at the top of the panel and no options are displayed.



Render menu button

Use these commands to render the current pass, the selected passes, all passes in the scene, the current frame, or the current frame for all passes in the scene.



Edit menu button

Use the commands to access additional editing features (as described below):

Edit > Override Marked Pass Parameters

Creates an override for marked parameters of the selected render pass.

Edit > Make Renderer Local to Pass

Creates a local renderer for the selected pass.

Edit > Make Pass Renderer Global

Resets the local pass renderer to share the global settings.

Edit > Open Rendering Preferences

Edit > Open Output Format Preferences

Edit > Copy Render Options

Opens the Copy Render Options tool for multi-pass editing.



Refresh button

Click to update the render manager after modifications. Refresh will also clear any multiple selections you have made in the explorer panel.



The render options for all the render passes defined in your scene.

The pass render options allow you to modify settings specific to each pass. You can set output paths, specify the pass camera, output your pass to a movie file, apply pass-level shaders, add render channels, and more.


global renderers

The render options for all available renderers.

By default, XSI allows you to render using the mental ray renderer or the XSI hardware renderer.


Scene Render Options

The scene render options allow you to modify global settings for the entire scene. You can specify things like the renderer to use, the frames to render, the basic output path and format for rendered images. You can also create custom render channels that you can add to individual passes.


current pass

The current pass is displayed in bold in the explorer.

Local and Global Render Options

The procedure for making rendering options local or global for a pass is now the same as for all other shared properties in XSI.

The Make Local to Current Pass and Copy This Pass to Global buttons are no longer available from the mental ray or hardware render options property editors.

Pass Overrides for Render Options

You can now override any of the global renderer options for a specific pass, and edit just those options.

Show Rendered Images Preference

The Show Rendered Images preference lets you specify whether or not output images are displayed in the progress window when rendering from the XSI user interface.

When enabled, the rendering progress window displays each rendered frame with a progress bar that provides information such as the percentage of the scene that has been rendered and the average rendering time for each frame. This is the default setting.

To speed up your renders when outputting large sized images, you can disable this option so that only the progress bar is displayed when rendering from the XSI user interface (as shown below).


Render Channels Shaders

The Store In Channel shaders are not new, but they have been updated so that you can store the data for a particular ray type and for a particular color component (where applicable).

Color Store In Channel Shader

Scalar Store In Channel Shader

Boolean Store In Channel Shader

Integer Store In Channel Shader

Vector Store In Channel Shader

Share Shaders

The Share shaders are not new, but they have been updated with a port group of 8 input channels. These are “dummy” inputs that get called and evaluated, but do not effect the final rendered output in the render tree. The primary purpose of these channel ports is to connect multiple Store In Channel shaders, all of which can share (or rather store) the data coming into the Share node’s main input port.


Boolean Share

Color Share

Integer Share

Scalar Share

Vector Share

Motion or Raster Motion

You can now output to either the motion or raster motion render channels.


The movement of elements in world space.

Motion data written out in this way is mostly intended for use by output shaders, like the mental ray Motion Blur (mip_Motion_Blur) output shader.

Raster Motion

The movement of elements in screen (raster) space.

Raster Motion data written out in this way (from the point of view of the camera) is intended for use by post-processing tools.

In addition:

• If there is any motion in a pixel, the Z value of the motion will be 1.0; otherwise, it will be 0.0. If you output the motion buffer to a color file format, this allows you to process the Blue channel to create a matte for compositing.

• If the contents of the raster motion render channel is output in an RGBA format (for example TIFF Float), it will grab the alpha from the Main render channel. This helps with post-processing tools that require alpha in order to determine which areas to blur.

mental ray 3.6

XSI version 7.01 integrates the new mental ray version 3.6.


The BSP2 raytracing acceleration technique is the next generation BSP algorithm used by mental ray. It was developed, primarily, for the efficient rendering of scenes with large BSP trees and is required for rendering scenes with stand-ins (also known as mental ray assemblies).

Of particular note, BSP2 is auto-configuring, which means that the algorithm itself determines the best maximum depth and maximum leaf size settings for the scene. Unlike the traditional BSP acceleration, there are no controlling options for the BSP2 acceleration and further manual tuning is not required to achieve performance and memory consumption improvements.

Rasterizer Options

The Rasterizer accelerates motion blur rendering for complex scenes containing a lot of moving objects. You can now set two new Rasterizer sampling options:

Motion Factor

Sets an automatic factor for tweaking the shading samples such that a lower shading frequency is used the faster the object is moving.

A value larger than 0.0 automatically lowers shading samples for fast-moving objects, at a rate proportional to the magnitude of the setting and the speed of the objects. A value of 1.0 should provide a good starting point. Setting this value to 0.0 (the default) disables this feature.

Max Depth

Sets the maximum depth to which the rasterizer will composite shading samples. This can be used to speed up hair rendering and scenes where it is known that many subsequent samples, further away from the camera, do not contribute as much to the final pixel as the first few.

If set to a positive value the rasterizer will end the transparency compositing at the depth specified. Setting this value to 0.0 (the default) does not impose any limit.

Render_Archives Folder

Scene render archives (*.mi2 files) and object render archives (*.mia files) are now saved to the Render_Archives folder of your current project as defined by the Scene Archive Template and Object Archive Template settings in your Rendering Preferences.

Object Render Archives and Stand-ins

Object render archives (also known as mental ray assemblies or stand-ins) provide a method of off-loading assets so that they can be loaded and unloaded, on-demand, at render time. The object render archive file is loaded into the render as an encapsulated "sub-scene" which can be unloaded automatically if mental ray starts to run low on physical memory. This reduces memory consumption and allows for faster rendering times.

Stand-ins are particularly useful for assembling cumulatively large and detailed scenes such as cityscapes, dense forests of trees, and even crowds of animated characters.

The basic workflow is composed of two parts:

1. Export a single object to object render archives. The archive stores the object, all children objects in its hierarchy and any other related elements, including instances, groups, textures, userdata, shaders, geoshaders, materials, and animation.

2. Load the object render archives into your scene as stand-ins. A stand-in is a primitive that acts as a proxy for geometry. The stand-in consists of a bounding box that represents the bounding area of the exported geometry, and, if needed, a time control that allows you to modify the flow of the animation sequence. If the archives are exported with display proxies then those images will be shown on the stand-in in the viewports when the Textured or Textured Decal display modes are active.


Here is a listing of all the new shaders that have been added to the XSI shader library for version 7.0. For a listing of the new realtime shaders, see Realtime Shaders.


Any shader in this list with (Multi-Out) following its name indicates that the shader node provides multiple output ports.

Attribute Shaders (ICE)

Attribute Boolean

Attribute Color

Attribute Integer

Attribute Scalar

Attribute Transform

Attribute Vector

Architectural Shaders

Bokeh Lens

Simple Tone Mapping

Photographic Exposure

Portal Light

Environment Blur

Architectural Material

This is not a new shader, but it has been updated with additional parameters relating to bump mapping. The Bump Mode parameter allows you to define the behavior of two new bump inputs named overall_bump and standard_bump. You can still use the old bump_shader input if needed.

Architectural Material (Multi-Out)

Light Surface

Color Channels Shaders

RGBA Split (Multi-Out)

Conversion Shaders

Color to Boolean

Scalar to Boolean

Color to Scalar

Color to Scalars (Multi-Out)

Color to Vector

Vector to Color

Vector to Scalar

Vector to Scalars (Multi-Out)

Fast Subsurface Scattering Shaders

The Fast Simple Subsurface Scattering Shader and the Fast Skin Subsurface Scattering Shader are material phenomena — pre-configured groups of shaders designed to produce a specific effect. The component shaders that make up these two material phenomena are now available for you to use individually in your own particular render tree setup.

Fast Subsurface Scattering Shader

Fast Subsurface Scattering Specular Skin Shader

Fast Subsurface Scattering Lambert Gamma Shader

Fast Subsurface Scattering Lightmap Write

Fast Subsurface Scattering Call Shader

Lume Shaders

Lume Adjustments

Lume Beam

Lume Distortion

Lume Edge

Lume Edge Shadow

Math Shaders

Scalar Math Curve

Scalar Multi Math

Particle Shaders and Shader Compounds (ICE)

Particle Density (Multi-Out)

Particle Gradient

Particle Info

Particle Volume Cloud

Particle Gradient Fcurve Compound

Particle Renderer Compound

Particle Shaper Compound

Particle Strand Gradient Compound

Production Shaders

Camera Map


Gray Ball

Mirror Ball

Matte Shadow (Multi-Out)

Motion Blur

Motion Vector

Ray Switch

Ray Switch Advanced

Environment Ray Switcher

Render Channels Shaders

These Store In Channel shaders are not new, but they have been updated so that you can store the data for a particular ray type and for a particular color component (where applicable):

Color Store In Channel Shader

Scalar Store In Channel Shader

Boolean Store In Channel Shader

Integer Store In Channel Shader

Vector Store In Channel Shader

Share Shaders

The Share shaders are not new, but they have been updated with a port group of 8 input channels. These are “dummy” inputs that get called and evaluated, but do not effect the final rendered output in the render tree. The primary purpose of these channel ports is to connect multiple Store In Channel shaders, all of which can share (or rather store) the data coming into the Share node’s main input port.


Boolean Share

Color Share

Integer Share

Scalar Share

Vector Share

Switch Shaders

Color Multi Switch

Scalar Multi Switch

Vector Multi Switch

Texture Shaders

Cell Scalar

Fractal Scalar

Realtime Shaders

New RealtimeShader API (v3.0)

XSI version 7.01 supports the Realtime Shader API version 3.0. There have been some major changes and enhancements since version 2.0 that add flexibility and simplicity in the development of realtime shaders:

• The new architecture focusses on programmable shaders (GLSL, HLSL) and file-based effects (CgFX and DxFX).

• Geometry is now passed to realtime shaders as multiple fixed-size, flat arrays of floating points. Prior to v3.0, fixed vertex structures were sent to the renderer, but now each realtime shader requests a list of attributes it needs to render the geometry. See the GetAttributeList callback and the XSI_RTS_Attribute structure for more details.

• For polygon meshes and NURBS, topology is defined as a list of indexed triangles.

• Particle clouds are fully supported, passed as arrays of points.

• New ExecutionState object encapsulates all calls made to the graphic subsystem and scene accessors.

• Legacy fixed-function realtime shaders were deprecated and their use should be avoided.

For general information, see Help > SDK Guides > Customizing with the SDK > Realtime Shaders. For reference information, see Help > SDK Guides > Realtime Shaders v3.0 API Reference.

Effects Shaders

The DXFX2, DXFX10, and the CgFX shaders each accept a relative path to an external effects file. The path should be relative to the root of the current project. This allows you to transfer your project to another path or machine without having to re-associate your referenced file to the new scene location.

Fixed Function Shaders Are Legacy

With the exception of the DirectX 10 fixed function shaders, all other fixed function realtime shaders (such as OGL Draw, OGL Shade, etc.) are no longer directly accessible from the XSI user interface.

• These shaders are still supported as legacy shaders and scenes containing these shaders will continue to load and display correctly.

• To load these shaders into the render tree, choose Nodes > RealTime > [any display target]> More and select the shader you want from the browser window.

GLSL Shaders

XSI provides two new OpenGL-based realtime programmable shaders that support the OpenGL Shading Language (GLSL): the GLSLProgram shader and the GLSLUniform shader.

OpenGL Particle Shader

The OGLParticle shader is a realtime shader that allows you to shade your particles in an XSI 3D view set to the OpenGL display mode.

Text Editor Widget

XSI now provides a new, customizable Scintilla-based editing component which supports text customization (font, color, size), syntax styling, folding (hiding blocks such as functions and subroutines), auto-completion and highlighting for keywords. The text editor widget is implemented as a control on the property pages of all the programmable realtime shaders.

You can also implement this text editor widget in your own plug-ins, see Text Editor Widget [SDK Guide].

Vertex Shader Input Semantics

When an effects file (.cgfx and .fx) is compiled, any vertex shader variables bound to input semantics will dynamically generate a user interface. You can use the vertex attribute widgets that get generated to customize the per-vertex attributes that are passed to the effect.

These binding semantics specify the mapping of inputs to particular hardware registers. Per-vertex variable data can be bound to any supported semantic and passed to any available register. This gives you the freedom to connect, if you wish, a texture projection in a COLOR register or a vertex color in a TEXCOORD register.

Compositing & Effects

• Output path templates like [Scene] and [Frame] now work in the FxTree’s FileOutput node.

• When the image format is floating-point or half-float (HDR) values, the Component parser and Pixel Parser nodes do not clamp negative values to zero.

• The Invert node supports floating-point and half-float (HDR) values. Negative color values are clamped to 0.0 and alpha values are clamped between 0.0 and 1.0.

Documentation Updates

Final Gathering

It was brought to our attention that the mental ray > Final Gathering > Accuracy > Points option was not adequately documented. The final gathering documentation was updated to correct this and other minor inaccuracies.

See the Setting Final Gathering Accuracy Options for a description of how to set the main options used to control the quality of a final gathering render.

See Setting Radii and Points for Interpolation for an explanation of how mental ray optimizes on the computation of final gather points by interpolation.

Sample Displacement

The mental ray > Optimization > Geometry > Sample Displacement Before Rendering option was introduced in XSI version 6.5, but it was never documented: now it is (our apologies for this oversight).

This option can help speed up displacement rendering by providing mental ray with the correct bounding boxes for its calculations.

The presampling increases the startup time when rendering the displaced object, but the actual rendering itself is much faster. The overall benefit can reach a performance factor of three. However, for quick previews when you want to get the first pixels as quickly as possible, regardless of the time it takes to complete the image, you may want to disable this option. The default is on.

When enabled, mental ray performs a rough displacement on the object before rendering in order to obtain a correct bounding box for its calculations. This is particularly helpful if the maximum displacement parameter is set very low. (Geometry Approximation > Displacement > Max. Displ.)

When disabled, mental ray takes the object’s current bounding box (samples the original non-displaced mesh) and the maximum displacement, and uses that to decide whether or not the object is a part of a tile being rendered. In this case, if the maximum displacement is set too low, then you may end up with the object missing from some of the rendered tiles.

Material Manager

More information and procedures have been added to the guides about using the material manager.


Biped and Biped Dog Leg Rigs

There are several options for the biped and biped dog leg rigs (Create > Character > Rig from Biped Guide or Biped Dog Leg Guide) that are now documented.

• If you have several biped guides in a scene, you must make sure to select the correct one first before creating a rig from it.

• Two new options on the Torso page in the Make Biped/Dog Leg Rig dialog box:

- World Axis Aligned Quaternion Spines: Creates a quaternion spine that is aligned as closely as possible to the global up-axis, which is Y.

- Near-Axis Aligned Quaternion Spines: Creates a quaternion spine that is aligned as closely as possible to the biped guide’s up-axis, which can be Y or Z. This lets you create characters that are hunched over or are more animal-like in posture.

• You can now choose to create either 2-bone or 3-bone toes. This is on the Limbs page in the Make Biped/Dog Leg Rig dialog box.

• Two new options on the Shadow Rig page in the Make Biped/Dog Leg Rig dialog box:

- Create Unified Skeleton and Rig Model: Creates the shadow rig under the biped rig’s model. If you don’t select this option, the shadow rig is in its own model.

- Create Independent Lower Hierarchy: Creates a hip plate (a hip bone-shaped control icon) on the shadow rig.

• Shadow rigs now include roll divisions on the arms and legs of the shadow rig (if you chose to create them in the original rig).

• There is a small cube control (called RHand_Grab or LHand_Grab) created at the base of the fingers on each hand. When you rotate it on Z, the fingers are formed into a clenching or grabbing fist. This makes it easy to quickly animate a grabbing hand or a claw.



• In the biped or biped dog leg guide (Create > Character > Biped Guide or Biped Dog Leg Guide), there are now yellow triangles on the fingers called FingerBlades (such as RPinky_fingerBlade). If you rotate these, you will see that the fingers that are generated later in the rig will follow the plane that you set here.


Advanced Settings for PhysX Dynamics Operator

The parameters on the Advanced page in the PhysX Dynamics Op property editor are now documented. These settings for those who are using the PhysX engine at an advanced level. For example, you may need these parameters for when you’re developing games, so that you can have the same settings here as in your game engine.

These parameters include advanced options for gravity, sleeping, collisions, and friction scaling.

Autodesk Softimage Documentation Archives