New Features for Softimage 2011 (version 9.0)

Here is a detailed summary of the new features and enhancements available in Autodesk Softimage 2011:

New Feature Videos

You can find some new features videos ( on the AREA.

Interface and Tools

One Softimage

To help simplify the Softimage product line and offer better value, Softimage Advanced has been retired. There is now only one Softimage which is distinguishable by two different license types: Autodesk Standalone or Network licensing. The Network version of Softimage includes 5 Batch licenses. The Standalone version of Softimage does not enable Batch.

Installation and OS

  • Installation path defaults to "Program Files" on Windows
  • New common Autodesk installer
  • Supported Platforms
    • Fedora Core 11, 64-bit
    • XP - 32 & 64-bit
    • Vista - 32 and 64-bit
    • Windows 7 - 32 and 64-bit
    • Visual Studio 2008 SP1
  • Platforms which should work
    • Fedora Core 9, 64-bit

Environment Variables

  • XSI_SHAVEINSTANCES : From 1 to 8. Default is 8.
  • XSI_AUDIO_MODE for switching type of audio support on Linux (ALSA is default)
  • The following are not supported
    • XSI_UNSUPPORTED_ICE_KINEMATICS must be removed for new ICE Kinematics to work properly

Craft Director StudioTM Plug-In

Craft Animations ( has bundled its Craft Director Studio product as a plug-in for Softimage. You can install this plug-in during the usual Softimage installation process.


Craft Director Studio uses high-end artificial intelligence and autonomous control systems to streamline traditional animation processes, allowing you to spend more time on creating rather than on more tedious tasks.

Craft Director Studio includes:

  • Craft Camera Tools: real-time camera control for immediate, professional-quality cinematic results.
  • Craft Vehicle Tools: create the most realistic and accurate simulations for in-motion vehicles.
  • Craft Accessory Tools: add the finishing touches to action-packed productions by simulating and animating props such as missiles, trailers, cog wheels, and other moving parts.
  • Craft Freeware Tools: a free-to-use extended toolbox for Craft Director Studio allowing real-time recording, interaction, and depth orientation.

For more information, see Craft Director Studio Overview (

Maximizing Floating Windows

You can maximize floating windows.


For more information, see Minimizing, Maximizing, and Restoring Floating Views (

Check for Announcements and Updates

The new Check for Announcements and Updates option in the General preferences displays announcements and updates in the default Netview page. If this option is off, you can still click a link in the default Netview page to display them. If this option is on but Launch Netview on Startup is off, high-priority messages will still force Netview to open on startup.

Alternatively, you can subscribe to the RSS feed at using an RSS-aware browser.

Crash Error Reporting (CER)

When Softimage crashes, you are now prompted to log a report with Autodesk.

Customer Involvement Program (CIP)

The Customer Involvement Program collects system, usage, and error data to help us improve future versions of Softimage and other Autodesk software. You are prompted to join the first time you start Softimage, and you can change your settings anytime by choosing Help > Autodesk Customer Involvement Program.

Viewing and Playback

Viewport Slate

You can display custom information in 3D views by specifying preset tokens and text strings to create a viewport slate. A viewport slate can be defined for a specific camera, or for all cameras at once. When enabled, the template information is shown in any viewport set to that particular camera or viewpoint.

The Viewport Slate options are set on the Stats tab of the Camera Visibility Property Editor (


Making Objects Transparent

You can make objects transparent or partially transparent in the 3D views using the Opacity setting in their Display properties. A value of 0 is fully transparent and 1 is fully opaque. Note that this affects viewing only and is not considered when rendering. You can also toggle the display of transparent objects in the 3D views.

For more information about this and other ways to control transparency, see Making Objects Transparent (

XRay Shading

There is a new Transparent option for XRay Display Type. See Camera Display Property Editor (

In addition, XRay mode is now available directly on the viewports' and object view's Display Mode menu, as well as being available in the Camera Display Property Editor as always.

Note that if you're using shaded bones for your character, you can use the Transparent option to see the shaded bones inside the envelope. See Displaying Bones Using the Viewport's Display Mode (

Autokeying Camera Navigation

If a camera is free, that is, if it has no direction constraint to a camera interest object, then autokeyed rotations are continuous, that is, they can span more than 180 degrees between frames. For more information about continuous rotations, see Making Rotations Continuous (

In addition, autokeying camera navigation now works better when using the Key All Keyable and Key Marked Keyable modes because all relevant camera parameters have been made keyable by default. Previously, only the camera's tranformations were keyable by default.

For more information about autokeying camera navigation in general, see Autokeying Camera Navigation (

ALSA Audio Support for Linux

ALSA (Advanced Linux Sound Architecture) audio is now supported and used by default for Softimage on Linux. This change to support ALSA is only for audio playback and does not affect loading clips in the animation mixer or doing viewport captures.

If you want to override the audio wrapper with your own, or you need to switch back to OSS for any reason, you can set the XSI_AUDIO_MODE environment variable. See its description in the Environment Variable Reference (

Scene Elements

Local Ambient Lighting Property

You can now apply a local ambient lighting property to selected objects in the scene. To set local ambience, select an object, multiple objects, a group of objects, or a pass partition, and choose Get > Property > Ambient Lighting from any toolbar.

Bone Primitive

The Bone primitive is now available from the Get > Primitive > Implicit menu. This allows you to create bones that are not part of a chain, and can be useful for creating ICE-based animation rigs.

Static KineState Properties

You can now apply Static KineState properties using the Get > Property menu. Static KineState properties provide a snapshot of an object's global transformations at a specific moment. They are automatically applied to geometric objects and deformers when applying envelopes, as well as cage and spine deformations, but applying them manually can be useful with ICE kinematics because it allows you to store initial transformations and calculate initial offsets. For more information, see Applying Static KineState Properties (

Data Management

New Tokens

The viewport slate and the render slate (new features in Softimage 2011) recognize all universal tokens and their optional parameters, as well as a set of new tokens named [Camera], [CameraAspect], [CameraFormat], [CameraProjection], and [CameraType]. The render slate also supports the new [CameraDisplayInfo] token which copies the content defined in the viewport slate.

Output paths and file names for caching files support all universal tokens and their optional parameters, as well as a new set of tokens named [Model], [Object], and [Version]. Object render archives also support the new [Object] token.

For more information about the available tokens and how to build templates, see Tokens and Templates (

Color Management

Softimage now supports Autodesk LUSTRE .3dl 3D LUT files. In addition, there are new LUT Preconditioning options in the Display Preferences. These options allow you to control how color values are converted from linear to logarithmic space before the look-up when working with LUT files that represent colors in log space.

Hardware Display Clip Management

When 3D views are set to OpenGL or DirectX display modes, only one copy of a texture is uploaded to the graphics processor even if multiple clips are defined from the same source. This optimizes the use of texture memory.

SI3D Loader Is Gone

The SOFTIMAGE|3D importer, also known as the SI3D Loader, has been removed from Softimage. The workaround is to import your SOFTIMAGE|3D scene or model into Softimage as dotXSI (*.xsi).


Cache Manager

The new Cache Manager is your one-stop shopping center for all your caching needs. Using this tool, you can save both animated deformations and simulations into point cache files, as well as load cache files into the animation mixer.

A cache file contains the point position data of an object that is simulated or has animated deformations. Only the XYZ positions of an object’s points (vertices) are cached, not the object's transform data (translation, rotation, or scale) in its Kinematics node.

In addition to regular point cache files, you can also create Caches List (.cacheslist) files that help you manage how you load multiple objects and multiple cache files.

You can open the Cache Manager using any of these commands:

  • Choose View > Animation > Cache Manager from the main menu.
  • Choose Tools > Plot > Cache Manager from the Animate toolbar.
  • Choose ICE > Edit > Cache Manager from the Simulate toolbar.

Click the tabs at the top of the Cache Manager window to display the appropriate property editor for each caching task:


  • Read reads and loads any type of point cache files in the animation mixer.
  • Write creates point cache files for objects with animated deformations, cloth simulations, soft body simulations, ICE simulations, or ICE animated deformations.
  • Simulation creates point cache files and action sources for rigid body or ICE simulations.

For more information, see The Cache Manager (

Caching Improvements

In addition to the cache manager, all caching tools have been improved. Some of these improvements include:

  • Multiple objects can be cached at at time (in the same path)
  • Default template path settings in Simulation Preferences are used at scene creation, but can be overridden per caching session
  • Consistent paths and file name tokens for all types of caching
  • Current output path for caching is now visible
  • Universal tokens supported
  • Version token supported
  • If you don't specify any frame padding in the cache File Name, the frame padding setting from the Scene Render

options is no longer used.

  • ICE particle ID attribute can be cached
  • Setting the new XSI_CACHE_ASCII environment variable lets you save the .icecache file sequence in ASCII. This helps you visualize the format so that you can write your own plug-in.

Crosswalk 5.0

Softimage 2011 ships with Crosswalk v.5.0. These are the new features and improvements that have been incorporated into the Crosswalk toolset since the last release of Softimage.

Crosswalk Version Support

The Crosswalk Setup will continue to detect older versions of Softimage (and XSI), 3ds Max, and Maya. The Setup will save a backup of the older files and install the latest versions of the required plug-ins. You can continue to use unsupported versions but it is at your own risk because no fixes will be provided to resolve any issues that may arise.

Supported versions of 3ds Max

  • Crosswalk for Max supports 3ds Max 2009, 3ds Max 2010, and 3ds Max 2011.
  • Crosswalk for Max no longer supports 3ds Max 2008 (32-bits and 64-bits).

Supported versions of Maya

  • Crosswalk for Maya supports Maya v8.5, Maya 2008, Maya 2009, Maya 2010, and Maya 2011.

Supported versions of Softimage

  • Crosswalk for Softimage supports Softimage v7, Softimage v7.5, Softimage v7.5 SP1, Softimage 2010, and Softimage 2011.
  • Crosswalk for Softimage no longer supports XSI 6.5 (32-bits and 64-bits), XSI 6.02 (32-bits and 64-bits), XSI 6.01 (32-bits and 64-bits), XSI 6.01 Mod Tool, XSI 6 Mod Tool, Face Robot 1.9.1, Face Robot 1.9, and Face Robot 1.8.

Crosswalk for Softimage

FBX Import and Export

Crosswalk for FBX now uses FBX SDK 2011.

FBX Import and Export Options: Units

Scale Factor

Indicates the scaling value that will be used to import or export the contents of the FBX file.


When on, automatically detects the units used to import or export the file and matches it (Scale Factor = 1).
When off, you can import or export the file using the units of your choice.
Keep in mind that using a scale factor other than 1 can cause skinned (enveloped) characters to not be imported or exported correctly.

File units converted to

Converts the file units to one of the following unit scales: Millimeters, Centimeters, Decimeters, Meters, Kilometers, Inches, Feet, Yards, or Miles.
This option is only available when Automatic is turned off.

New FBX Batch Processing Commands

  • FBXExportAutomaticUnit (
  • FBXExportUnit (
  • FBXImportAutomaticUnit (
  • FBXImportUnit (



Boolean operations on polygon meshes have been updated. They are now faster and much more stable. For information about Boolean operations in general, see Performing Boolean Operations on Polygon & Meshes (

Polygon Mesh Internal Edges

There have been some improvements to how the polygon mesh modeling tools handle internal edges:

  • Symmetrize Polygons now mirrors the internals edges.
  • Invert Polygons no longer flips internal edges.

For information about internal edges in general, see Controlling Polygon Tessellation (


Preference for Collapsing Animation Layers

You can set the new Keys > Collapsing Animation Layers option in the Animation Preferences to determine if each layer's fcurve tangent handles are preserved or not when you collapse the layers.

  • Preserve Animation: The tangent handles of the resulting collapsed fcurves are altered in order to preserve the object's animation.
  • Preserve Tangent Handles: The tangent handles of the resulting collapsed fcurves are preserved. This may alter the object's resulting animation.

Preference for Scanning for Plug-Ins in the Fcurve Editor

Softimage no longer automatically scans the Fcurve Editor's Edit menu for existing plug-ins, which had slowed it down. If you do want to scan for plug-ins, select Show Old Fcurves Custom Commands option in Fcurve Editor Preferences.

SOFTIMAGE|3D Files Not Supported

Due to the removal of the SI3D loader, you can no longer import SOFTIMAGE|3D .ani and .key files as action sources. As well, the binary .exp file format is no longer supported for importing SOFTIMAGE|3D expressions.

Face Robot

Lip Sync

The new lip sync tools in Face Robot help you create realistic facial animation using audio files as your starting point. Using speech recognition technology, Face Robot recognizes a standard set of phonemes (sounds of speech) and automatically determines where these phonemes occur in an audio file. Each phoneme is mapped to the face's mouth animation controls using its corresponding viseme pose (mouth shape for a phoneme). These poses drive the facial animation via a speech action clip.

Once the animation is generated, you can use the tools in the lip sync view to help you perfect the dialogue. Both English and Japanese phonemes are supported. For information, see Lip-Synchronization Animation (


Face Robot Wiki

Just a reminder that the Face Robot wiki is no longer supported. All documentation and other information is available in the Softimage user's guide ( and here on the Softimage wiki. Also, check out the Face Robot learning movies

Game Export Updates

  • The Add Textures button on the Shaders page in the Game Export property editor has been removed. You can still build the realtime shader for the game mesh using the Texture Stack buttons and list on this page.
  • Several types of texture map types have been added to the Texture Stack in the Game Export property editor, including SubSurface, Ambient, and Reflection maps.
  • The new Delete Previous Shader option on the Shaders page in the Game Export property editor makes Face Robot delete the existing shader on the game head when it attempts to recreate the skin shader.
    • If you deselect this option, the game head's shader is disconnected from its Material node, but not deleted.

For more information, see Exporting Game Rigs (Bones) (


Update PhysX library to version 2.83

  • NOTE: Due to a change in the PhysX library, actual shape collision results will be different in 2011
  • Support for CUDA acceleration for PhysX Rigid Body Dynamics (including ICE)

Support for More Shave (Hair) Instances

Render hairs can be generated differently depending on the number of processors that a machine has. To fix this, you can split the hair generation into the same number of batches as there are processors. As a result, there is now support for up to 8 hair (shave) instances instead of 4. You can set the environment variable XSI_SHAVEINSTANCES to control the number of instances you want to use for creating batches.

Hair Shaders Renamed

The Hair Renderer shader is now called the Hair Shading shader, and the Hair Geo shader is now called the Hair Gradient Material shader. Both shaders can now be found in the render tree in the Nodes > Illumination group.

Legacy Particles

The legacy particle operators (ParticlesOp, ExplosionOp, and FluidOp) and their shaders are no longer supported in Softimage (Particle Billboard, Particle Blob, Particle Color, Explosion, Particle Gradient, Particle Renderer, Particle Scalar, Particle Shape, Particle Sphere, Particle Sprite, and Particle Vector). This means that you can no longer load scenes that contains the legacy particles into this version of Softimage. Sorry, but you knew this day would come.


ICE Kinematics

ICE kinematics lets you use ICE trees to set objects’ transformations. It allows advanced riggers and TDs to create custom rigs using a minimal number of control objects. A rig can be composed of simply the manipulators and the deformers. There is no need for complex hierarchies of helper objects — instead, an ICE tree can implement complex behaviors for the deformers’ transformations based directly on the manipulators's transformations. This can greatly simplify and speed up very elaborate rigs. It also allows for more portability and reusability.

Using ICE in this way can become very complex, especially if you are not familiar with the mathematics underlying transformations and kinematics. Typical animators are unlikely to create their own rigs in ICE — instead, they'd use any of a variety of rigs built by expert riggers for specific purposes.

For some examples of scenes that use ICE kinematics, look at the Kinematics_* scenes in the ICE subfolder of the Scenes folder of the XSI_SAMPLES project. For some compounds that you can use when building your own scenes, use the plug-in manager to connect to the ICE_Kinematics workgroup located in the Application/Workgroups folder of the Softimage installation location (see Connecting to a Workgroup ( After you have connected to the workgroup, the compounds can be found under ICE Kinematics on the Tasks tab of the preset manager. For more information, see ICE Kinematics (


String Data

String data is now supported for ICE attributes. Strings can be used by custom nodes for storing file paths, for example. For a list of string-related nodes, see String (

New Compounds from "Phil's ICE Pack"

Many compounds from "Phil's ICE Pack" have been integrated in Softimage, complete with documentation. For descriptions of all installed compounds, see ICE Compounds ( Some specific compounds are highlighted below.

Dual Quaternion Skinning

Dual quaternion skinning is an alternative to the standard method of calculating envelope deformations, which is known as “linear blend”. The Dual Quaternion Deformation compound lets you use dual quaternion skinning, or interpolate between dual quaternion and linear blend skinning. See Dual Quaternion Skinning (

Verlet Deformation

Verlet integration is an alternative to the Eulerian integration method used by the Simulate Particles node. While both methods have their advantages and disadvantages, one nice feature of Verlet integration is that it is easy to incorporate constraints, for example, to fix edge lengths, edge angles, and so on. This means that Verlet integration is often used for cloth and other soft-body simulations.

The supplied Verlet compounds are provided as examples to demonstrate how to set up and control Verlet simulations, and to form the basis of more complex effects. See Verlet Integration (

Hull Deformation

The hull deformation compounds show how to implement a cage deformation in ICE. See Hull Deformation (

Strand Dynamics

The Strand Dynamics compounds allow you to set up and control particle strand dynamics simulations, often used to create hair-like movement on strands. When strands have dynamics applied, they can respond to collisions and other forces that are applied. For more information, see Creating Strand Dynamics (

To get started:

  • Load the Strand Dynamics Hair sample scene from the <Softimage installation>\Data\XSI_SAMPLES\Scenes\ICE folder.
  • Check out the Strand Dynamics Video on the Softimage wiki Tutorial page. This also contains an example (Hairy Little Monster) for you to do from scratch.


List of New ICE Compounds and Nodes

... Array Debugging Execution Particles – Conditionals
Find Closest in Array Build Capsule Execute Once Test Particle ID
Get Array Maximum 2 Build Circle Repeat with Counter
Get Array Minimum 2 Build Cross While with Counter Particles – Emission Control
Reverse Array Build Rectangle Filter by Particle IDs
Select Sub Array in Array Build Square Geometry Queries Offset Particle From Emitter
Display Arrow Reinterpret Location on New Geometry
Array 2D Display Debug Grid Particles - Getters
Build 2D Array Display Line Kinematics Get Next Particle Position
Calc Sub Array Size Display Strand Shape Add Constraints Get Next Particle
Get 2D Array Size Display Point Constrain Between 2 Points Get Particle Speed
Get 2D SubArray Size Graph Value Over Time Constrain Orientation Get Particle Transform
Initialize 2d Array Constrain Pose Get Prev Particle Position
Push SubArray on 2D Array Deformation – Hull Deformer Constrain Position Get Prev Particle
Select SubArray in 2D Array Deform by Hull Constrain to Closest Surface
Set SubArray in 2D Array Find Hull Surface Point Look At Particles - Setters
Set Particle Transform
Binary Flags Deformation - Skinning Math - Basic
Bit Shift Flags Calculate Deformer Weights Worley Noise Particles - Strands
Clear Flag by Index Cleanup Painted Weights Soft Clamp Curl Strand
Set Flag by Index Dual Quaternion Deformation Soft Min Get Strand Length
Set Flags Deformation - Effects Soft Max Shape Strand with Curve
Test Flag by Index Transform Mesh
Turbulize Mesh Math – Trigonometry Particles – Strand Dynamics
Conversion Calculate Polar Ellipse Add Strand Forces
Deg To Rad Deformation - Verlet Calculate Quadrant Ellipse Emit Filler Strands
Rad to Deg Apply Surface Stiffness Law of Cosines Emit Strands
(node) 3D Vector to 4D Vector Blend Verlet Effect Math - Vector Init Strand Dynamics
(node) 4D Vector to 3D Vector Correct Edge Lengths Limit Vector Length Strand Drag Force
(node) 3D Vector to 4x4 Matrix Inflate Volume Get Closest Point Between 2 Lines Strand Dynamics Framework
(node) 4x4 Matrix to 3D Vector Init Verlet Geometry Data Get Closest Point Between 2 Line Segments Strand Gravity Force
Move Points Outside Geometry
Curves Simulate Mesh using Verlet Rotation String (nodes)
Bezier4 Verlet Framework Increment Quaternion with 2 Vectors String
Bezier5 Quaternion nlerp String File Path
Cubic B Spline Deformation – Verlet Forces Fishing Rod String File Path Sequence
Curve Distance to Curve Location Add Verlet Force Concatenate String
Curve Location to Curve Distance Add Verlet Forces Find in String
Curve Location to Normalized U Restitution Force Get Sub String
Fit Bezier Curve Verlet Drag Force Split String
Normalized U to Curve Location Verlet Wind Force
Piecewise Cubic B Spline

List of Compounds Available from the New ICE Kinematics Workgroup

... Enveloping Geometry Queries Inverse Kinematics Rigging Binding
Linear Blend Enveloping Basic Collide Geometry 2 Bone IK Bind Deformer to ICE Rig
Raycast Geometry 3 Bone IK Reversed Display Bone Properties
FK Hierarchies Raycast Ground Under toes 3 Bone IK
Calc FK Manipulated Chain 4 Bone IK Secondary Dynamics
Calc Single Chain FK Math Calc Bone N Apply Point Spring
Calc Volume Preservation Calc Bone N Minus 1 Calc Curve Driven Springy Chain
Foot Controls Calc Bone N Minus 2 Calc FK Driven Springy Chain
Foot Ground Pivot Multi Raycast Spines Toe IK
Foot Ground Pivot Bezier Spine

New Conversion Nodes

There are several new nodes that can help when performing matrix operations with transformations:

Springs and Dampers for ICE Rigid Bodies

You can now connect together points on an object using ICE springs and the Simulate Rigid Bodies node. These springs are based on Hooke's law which states that the force a spring exerts is directly proportional to how much it extends (its length). You can also create dampers to reduce the spring's strength by providing a resisting force to it. Dampers are actually independent of springs and can be used on their own to reduce velocity between points.

ICE springs are based on these attributes that you can set per point. The data can be either arrays or single values for these attributes:

  • ConnectionIndices ( is the point index or array of indices with which you can create ICE spring connections. This is the master array.
  • SpringLengths ( is the relaxed length (or rest length) that the ICE spring tries to return to during the simulation.
  • SpringCoeffs ( is the constant that determines the strength of the ICE spring (the spring constant in Hooke's law). Its value is multiplied by the difference in the spring's length from its relaxed length to determine the force exerted on each set of points.
  • DamperCoeffs ( is an opposing force which reduces the velocity between points (such as the velocity coming from springs). It basically tries to prevent two points moving relatively from one another. You can use dampers independently from springs, but you may want to combine them with springs to help stabilize some simulations.
  • ConnectionMute ( mutes the effect of the springs and/or dampers.

For more information, see ICE Springs and Dampers (

New ShapeSizeAbsolute Attribute

When the ShapeSizeAbsolute attribute is set to 1 (True), particles’ Size and StrandSize values are interpreted as Softimage units instead of pixels. This applies only when Shape is set to Point or Segment.

For example, this attribute can be used to render strand segments as hair and the relative thickness will not be view-dependant. For more information about rendering strands in general, see Viewing and Rendering Strands (

Replacing Model Names with 'this_model'

You can automatically replace references to a specific model name with 'this_model' to make a tree more generic and applicable to other objects. Simply choose User Tools > Replace Model Name with this_model (Nested Compounds from the ICE tree viewer. For more information, see Specifying Scene References (

Using Stand-Ins for Rendering Animated Particle Instances

You can now use stand-ins for rendering animated instance objects, which can greatly increase their rendering efficiency and work around certain rendering issues with ICE particle instances. The mental ray assembly basically finds the stand-ins file name and uses it directly. This gives you full control over the contents of the instances and the life-cycle of the assemblies because the original instanced object doesn't have to be a part of the scene.

For more information, see Rendering Particle Instances (


Animated club-bot model is archived as a stand-in, then imported and used as the instanced object.


  • You can now show values for ICE trees that are applied on nulls. For more information about showing values in general, see Displaying Port Values (
  • The new Disable cycle checking when editing ICE trees option on the Scene Debugging tab in Data Management Preferences lets you suppress cycle checking when connecting nodes in an ICE tree. This may be useful for avoiding unwanted delays that can happen when connecting nodes in an ICE tree where you know that desirable cycles exist.

Materials and Shaders

Dynamic Shaders

Softimage now supports a lightweight mechanism for registering shaders called the shader definition. These definitions take the place of the old presets, allowing you to achieve a more dynamic integration of your custom shaders. In fact, all new shaders available in Softimage 2011 now use this dynamic shader architecture.

Realtime effects files (*.cgfx and *.fx) also benefit from Softimage's new dynamic shader system. You will find it very easy to integrate your own existing effects files into Softimage for use in the render tree. In fact, you can author new effects files directly within Softimage using the realtime shader wizard. For more information, see Loading Existing Effects Files in the Preset Manager ( and Authoring Effects Files with the Realtime Shader Wizard (

For information about creating and integrating custom shaders, see Custom Shaders (

New Shader Events

  • OnCreateShaderDef
  • OnCreateShader
  • OnConnectShader
  • OnDisonnectShader

New Shader Parsers

  • CGFX Parser
  • HLSL Parser
  • SPDL Parser
  • .mi Parser
  • generic .xsishaderdef Parser

New Shader Library

The Softimage shader library has been significantly updated. It now includes the addition of well over 100 shaders from the mental ray shader library. All shaders available in Softimage 2011 use the new Dynamic Shaders architecture. For a listing of all shaders and descriptions of their parameters, see the Shader Reference (

No "More..." Menu

By default, the preset manager and the Nodes menu in the render tree display all the supported shaders in the library. There is no need for a More... menu because any shaders that are "left behind" in the folders are there only for compatibility with older scenes that may still use them.

New Shader Families

The term "shader type" has been replaced by the concept of shader family. With the addition of many new shaders to the Softimage shader libray, comes new shader families. Every node that appears in the render tree is color coded to identify it as a member of a particular shader family. A shader family indicates how a shader can be used in a render tree. Different shader families enforce different connection restrictions. For information, see Shader Families and Node Colors (

The concept of shader family has more implications for those who create their own custom shaders using the Softimage SDK. For more information about creating and integrating custom shaders, see Custom Shaders (

New Shader Data Types

Shader nodes support new data types for their input and output ports: 2D vector, 4D vector, 3x3 matrix, 4x4 matrix, quaternion, reference, string, and custom. Every port of every shader is color coded. The color identifies what type of data the port will accept or output.

In addition, the writable image clip shader now uses a different port color to distinguish it from the standard image clip shader.


Image Clip shader.

The standard image clip shader has the same node color as a writable image clip shader, but a different output port color to distinguish its particular function.


Writable Image Clip shader.

The writable image clip shader has the same node color as a standard image clip shader, but a different output port color to distinguish its particular function.




Accepts and outputs texture/image clip data.


Image Accepts and outputs writable texture/image clip data. For example, this data type is accepted by the lightmap and depthmap input ports on a lightmap shader node. A writable image output port can also can be connected to a standard image input port.

Dynamic Input Ports

Many shader nodes allow you to add input ports and port groups directly from the shader node in the render tree. Dynamic ports and port groups can be created for lens shaders stacks, pass shaders stacks, texture layers, render channels (share shaders), and for a variety of input values (switch shaders).


Fixed: Dynamic shader ports have solved the problem where, in previous releases of Softimage, mulitple shaders defined in a stack would float around aimlessly in the render tree workspace. Now, all shaders in a shaders stack are firmly connected properly to their input node.

Shader Presets

Shader presets are files that contain values for all the settings in a shader’s property editor. You can save these values and then load them to use again with another shader. Shader presets are now saved to an xml file format with an .xsishaders file name extension. This new format ressembles that of the shader compounds (.xsirtcompound).

To save a shader preset, right-click a node in a render tree and choose Export Selected.... For more information, see Saving and Loading Shader Presets (

Geometry Shaders

GeoShader properties now accept a single shader connection instead instead of a stack. The workflow for connecting geometry shaders now involves the render tree. For more information, see Applying Geometry Shaders (

Physical Sky and Sun Shader Setup

The Initialize Sky Shader plug-in is now more complete in how it sets up your scene to use the Physical Sky and Physical Sun shaders. The following things happen when you click the Apply button in the plug-in:

  • The Physical Sky shader is attached as an environment shader on the pass you selected.
  • The Photographic Exposure (mia) shader is added as a lens shader on the pass you selected. This shader gives

the correct candela-per-meter scale factor so that the image doesn't look overexposed. You can adjust the brightness of the image using the Shutter Time and the F-Stop values in the lens shader.

  • The Physical Sun shader is attached as the light shader on the light you selected or on the light that was automatically created.
  • These Physical Sun shader parameters are linked by expressions to the corresponding Physical Sky parameters: Multiplier, RGB Unit Conversion, Haze, Red Blue Shift, Saturation, and Horizon Height. This means that when you change the values for any of these parameters in the Physical Sky shader, the matching parameter values in the Physical Sun shader change accordingly in order to keep physical correctness.
  • The default values for the Physical Sun shader have been updated to be more useful.

For more information, see Physical Sky (mia) (

Shader Version Manager

Multiple versions of shaders and shader compounds often exist, as they are updated over time by either enhancements or bug fixes. However, shaders and shader compounds that already exist in a scene are not updated automatically even if new versions are available. Using the new Shader Version Manager, you can have control over the versions of shaders and shader compounds used in your scene. For more information, see The Shader Version Manager (

Versioning for Shader Compounds

You can now create and load multiple versions of shader compounds in a manner that is similar to ICE compounds. For more information, see Versioning Shader Compounds (

Preventing Shader Compounds from Being Edited

You can now easily prevent a shader compound from being edited by deselecting the Editable option in the Compound Properties editor. For more information, see Editing Shader Compound Properties (

Geometry Shaders and Texture UV Coordinates

Texture UV coordinates that are defined in geometry shaders are now supported.

Material Commands Available from the Material Node

You can now right-click on the Material node in any render tree view and choose the Assign to Selection and Select objects using this material commands that are found in the material manager. For more information, see Assigning Existing Materials to Objects (

List of New Shaders

….. SI Utility Shaders HLSL Parser CgFX Parser
BooleanPassthrough brix brix
BooleanSwitch BumpReflectHLSL cage
Color4Passthrough cage checker3d
Color4Switch checker3d clock
IntegerPassthrough clock DebugSpaces
IntegerSwitch DebugSpaces DebugValues
LensBackground DebugValues durer
Matrix3Passthrough durer goochy
Matrix3Switch goochy lambSkin
Matrix3ToMatrix4 lambSkin metal
Matrix4Passthrough metal MrWiggle
Matrix4Switch MrWiggle plastic
Matrix4ToMatrix3 plastic ThinFilm
QuaternionPassthrough ThinFilm
QuaternionSwitch ultimap_preview
QuaternionToVector4 uvDetective

~ 170 mental ray Shaders

.... mib mental ray mi mip mia misss
mib_amb_occlusion Adjustments mi_bump_flakes mip_binaryproxy mia_ciesky misss_fast_shader
mib_bent_normal_env Beam mi_car_paint_phen mip_cameramap mia_envblur misss_fast_shader_x
mib_blackbody BumpCapture mi_car_paint_phen_x mip_card_opacity mia_exposure_photographic misss_fast_simple_phen
mib_bump_basis dgs_material mi_metallic_paint mip_fgshooter mia_exposure_simple misss_fast_skin_phen
mib_bump_map dgs_material_photon mi_metallic_paint_output_mixer mip_gamma_gain mia_lens_bokeh misss_fast_skin_phen_d
mib_bump_map2 dielectric_material mi_metallic_paint_x mip_grayball mia_light_surface misss_lambert_gamma
mib_cie_d dielectric_material_photon mi_soft_bumpmap mip_matteshadow mia_material misss_lightmap_write
mib_color_alpha Distortion mi_soft_color mip_matteshadow_mtl mia_material_x misss_physical
mib_color_average Edge mi_soft_globillum mip_mirrorball mia_photometric_light misss_physical_phen
mib_color_intensity EdgeShadow mi_soft_illumination mip_motion_vector mia_physicalsky misss_skin_specular
mib_color_interpolate Facade mi_soft_lookup_color_texture mip_motionblur mia_physicalsun
mib_color_mix Glare mi_soft_material mip_rayswitch mia_portal_light
mib_color_spread mi_soft_reflection mip_rayswitch_advanced mia_roundcorners
mib_continue Glow mi_soft_refraction mip_rayswitch_environment
mib_dielectric Illumination mi_soft_refraction_index mip_rayswitch_stage
mib_fast_occlusion Landscape mi_soft_remap_coords
mib_fg_occlusion Lume Glow (Lambertian) mi_soft_shadow
mib_geo_add_uv_texsurf Lume Metal (Phong) mi_soft_shadowselect
mib_geo_cone Lume_Translucent_(Lambertian) mi_soft_staticblur
mib_geo_cube Metal mi_soft_textures
mib_geo_cylinder Mist
mib_geo_instance Night
mib_geo_instance_mlist Ocean
mib_geo_sphere oversampling_lens
mib_geo_square parti_volume
mib_geo_torus parti_volume_photon
mib_glossy_reflection path_material
mib_glossy_reflection_phong_phen physical_lens_dof
mib_glossy_refraction physical_light
mib_illum_blinn Stain
mib_illum_cooktorr Submerge
mib_illum_hair Translucency
mib_illum_lambert WaterSurface
mib_illum_phong WaterSurfaceShadow
mib_illum_ward Wet
mib_illum_ward_deriv WrapAround

Realtime Shaders

All shaders available in Softimage 2011 now use the new Dynamic Shader architecture. This means that all the realtime shaders from the previous release of Softimage, except for the GLSL shaders, the OGL Texture shader, and the OpenGL Particle shader, have been deprecated and are no longer available from the preset manager or the Nodes menu in the render tree.

Other changes:

  • You can no longer use the SDK to create new RTS1 and RTS2 shaders. The RTS API v3.0 has also been deprecated, but will continue to be supported in the short term for backwards compatibility.
  • Realtime Shaders can now be accessed via the C++ API, which means the standard Softimage data types are available and your realtime shader plug-ins can now leverage the power of custom dynamic shaders.
  • Softimage does not support the Realtime Shaders > DirectX10 display mode.

Dynamic CgFX and HLSL Shaders

You no longer have to load *.cgfx or *.fx files into hard-coded CgFX or DXFX shader nodes. These shaders have been deprecated. Now, any effects files located in the user, workgroup, or factory locations are read directly by the Softimage CgFX or HLSL parsers. These parsers create shader definitions that define the name to display in the preset manager and in which category to put the shader in the preset manager. Then, when you drag a preset from the preset manager into the render tree workspace, Softimage builds the shader node with its input and output parameters, including data type, restrictions on connections, default values, etc. The parameters and variables specified in the effects file automatically generate user interfaces that allow you to tweak parameter values and pass additional data from Softimage to the effect.

You can create realtime effects for the objects in your scene using the Softimage-provided realtime CgFX and HLSL shaders ( However (and more importantly), you can integrate your own existing effects files, or author new effects files directly within Softimage using the realtime shader wizard.


Non-editable UVs in the Texture Editor

When editing multiple sets of UV coordinates in the texture editor, you can Ctrl+click on a set in the UVs menu to make it non-editable. For example, this lets you snap UV coordinates from one set onto another set without accidentally selecting and modifying the second set.

For more information about working with multiple set of UV coordinates in general, see Editing Multiple UV Sets (

Copying and Pasting UVs

The method used to paste UVs in the texture editor has been improved.

  • Edit > Paste Special > Using Source UVs Indices works better between symmetric copies of meshes.
  • Edit > Paste Special > Using Target UVs Indices works better in cases where the UVs may have been re-indexed, e.g., if one mesh has been exported and re-imported.
  • Edit > Paste UVs makes its best guess as to which method to use.

For more information, see Copying and Pasting UVs Between Projections (


There are several improvements to the Unfold projection:

  • There is a new button in the Unfold Property Editor: Update No Pack recalculates the unfold based on the current cut line and other settings, without altering the arrangement of the islands relative to each other in the texture editor.
  • There is a new command in the texture editor: Tools > Re-Unfold Selected Islands (Unfold Op Only) re-unfolds the selected islands using the current cut line and other settings. It does not re-pack the islands. It works only when there is an Unfold operator in the etxture projection stack.
  • Symmetrical objects give better results.
  • There have been numerous bug fixes.

For more information about unfolding in general, see Unfold Projection (

RenderMap and Ultimapper

Both RenderMap and Ultimapper use the renderer specified for the current pass. To set the pass renderer, see Setting the Pass Renderer (

In addition:

  • Inclusive and exclusive lights are now supported.
  • Illumination only mode now properly supports ambient light.

For more information about RenderMap and Ultimapper in general, see Baking Surface Attribute Maps ( and Transferring Surface Attributes (Ultimapper) (

Automatic Tangents and Binormals

When working with textured objects in Realtime Shader display modes (OpenGL and DirectX), Softimage can automatically create tangents and binormals on-the-fly. This can give faster playback and interaction than using the operator-based Tangent and Binormal properties, because by default the operator-based properties rebuild both themselves and their acceleration structures whenever deformations or topological modifications are applied. To use the automatic tangents and binormals, just don't specify a Tangent or Binormal property as the vertex attribute input in the realtime effects shader's property editor.

For more information, see Automatic Tangents and Binormals (


Multi-Camera Passes

You can render a single pass with multiple cameras. You do this by putting the cameras in a group and setting the grouped cameras as the active camera for the render pass. The pass is rendered from the point of view of each camera in the group. See Creating Multi-Camera Passes (

Applying Lens Shaders

As usual, you apply lens shaders to the camera's lens shaders stack from within the camera property editor on the Lens Shaders tab. However, you can now edit the shaders in the stack using a special Edit Array Item icon (the “blue socket”). See Adding Lens Shaders Using the Camera Property Editor (


In addition, a new render tree workflow allows you to apply lens shaders to the camera's lens shaders stack directly in the render tree. You no longer have to open the camera property editor to access the shaders stack, you can dynamically add input ports to the Camera node's Lens Shaders port group. See Adding Lens Shaders Using the Render Tree (


Lights and Shadows

Light Lists

Certain types of shaders such as surface materials, textures, and volume shaders, allow you to create arrays of lights called light lists. These light lists let you specify which lights in the scene will contribute illumination to the shader’s effect. Many of the shaders in the mental ray category make use of light lists.


For more information, see Using Light Lists (

Flat Lights

You can define ambient lighting for the objects in your scene using flat lights. For more information, see Creating Flat Lights (


IES Lights

You can reference external IES profiles from within the mia_photometric_light ( shader allowing you to create lights with shape and physically accurate intensities. In scenes with global illumination, the mia_photometric_light shader takes care of balancing the photon energy and the direct light correctly.


The Light Profile selector allows you to browse for and select an IES profile stored anywhere on your system. The Light Profile selector also displays a 2D representation of the light intensity distribution with some textual information on the profile itself.


For more information, see Creating Lights With IES Profiles (

Area Light Sources and Sampling

There are two new types of area light geometry available: Object and User. The area light geometry is important because it determines the shape of the surface from which the light rays emanate.

  • Geometric area lights (also known as Object lights) can only be created for point lights. The light's shape is defined based on an object in your scene. All points on its surface emit light uniformly.
  • User-defined area lights are intended for use with a custom light shader that controls all of the light sampling.

Area lights now allow you to control low-level sampling. This is useful when you want to optimize the amount of samples used for an area light that's illuminating a point after a given number of reflection and refraction levels. For example, when an object is being lit from behind one or more semi-transparent planes.

Shape Attenuation

The shape attenuation options in the soft light shader allow you to define and animate the shape of the light.

Raytraced Soft Shadows

You can tweak the softness of raytraced shadows for the lights in your scene without having to use shadow maps or the more expensive area light shadows. The default Soft Light shader allows you to set Softness and Samples parameters that apply a quality blur to raytraced shadow edges. For more information, see Creating Soft Raytraced Shadows (


Shadowmaps > Rebuild Every Frame

The mental ray renderer option Shadowmaps > Rebuild every frame was removed from Softimage because it does not work: mental ray always rebuilds the shadowmap at every frame regardless of how the option was set.


mental ray Renderer

Softimage 2011 integrates mental ray version si2011_3_8_1_29 (known as version 3.8). This version of mental ray is in sync with the version used in Maya 2011 and 3ds Max 2011. In addition, mental ray 3.8 uses one license per machine instead of one license per 4 threads.

Distributed Rendering

There are two types of distributed rendering supported by Softimage: Satellite and Standalone. During the Softimage installation process, you can only configure Satellite distributed rendering. The Softimage setup program installs all the mental ray software files and sets the necessary services and configuration files that enable proper communication with the mental ray renderer (raysat.exe). For more information, see Distributed Rendering (

Render Slate

You can render custom information with your image sequences by specifying preset tokens and text strings to create a render slate. A render slate can be defined for each render pass in your scene. When enabled, the template information is output with your rendered frames. This includes the rendered output from the render region and the render preview. The render slate options are set on the Slate tab of the Render Pass Property Editor.


Render Pass Partitions Support Stand-ins

When stand-ins are created, they are now automatically added to the Background_Objects_Partition for the current pass. Older scenes that use stand-ins are also automatically fixed to have their stand-ins added to the background objects partition after loading. For more information about stand-ins, see mi Archives and Stand-ins (

Applying Pass Shaders

As usual, you apply environment, output, volume, and lens shaders to the pass shaders stack from within the render pass property editor on the Pass Shaders tab. However, you can now edit the shaders in the stack using a special Edit Array Item icon (the “blue socket”). See Adding Pass Shaders Using the Render Pass Property Editor (


In addition, a new render tree workflow allows you to apply environment, output, volume and lens shaders to the pass shaders stack directly from the Pass node in the render tree. You no longer have to open the pass property editor to access the shaders stack, you can dynamically add input ports to the Pass node’s Shaders port group. See Adding Pass Shaders Using the Render Tree (


Customization & SDK


Python is now automatically installed on Windows by default. If you want to use a version of Python that you have installed separately, turn off Use Python Installed with Softimage (Windows Only) in your Scripting Preferences. This option has no effect with Softimage on Linux, which supports only the version of Python installed with Softimage.


  • Script Editor now support tabs
    • MMB or control+W to close tab
    • RMB on tab to open containing folder
    • New file options including "save all tabs"
  • Scripting Preferences
    • Show spaces instead of Tabs
    • Use Python installed with Softimage (Windows only)
  • Custom Dynamic Shader creation
  • RenderMap exposed to Custom Renderers
  • Documentation Improvements
  • Shaders
    • Shader Plugin API
    • Shader Parser Plugin API
    • RT Shader Wizard (HLSL and CGFX)
  • ImportFromSI3D Command No Longer Supported

Object Model Changes

... New Objects New Properties New Commands
MetaShaderRendererDef ProjectItem.EvaluationID CopyCacheFiles2
MetaShaderRendererDefCollection ProjectItem.HierarchicalEvaluationID DeleteUnusedCacheSources
ShaderArrayParamDef Scene.DefaultImageClip ExportShaderDefinition
ShaderArrayParameter Shader.ShaderDef ExportShaderTree
ShaderballOptions UserDataBlob.Array32 FBXExportAscii
ShaderDef View.Rectangle FBXExportAutomaticUnit
ShaderDefCollection XSIApplication.ShaderDefinitions FBXExportDeformerAsSkeleton
ShaderParamDef FBXExportUnit
ShaderParamDefCollection New Constants FBXImportAutomaticUnit
ShaderParamDefContainer siCollapseLayersPlottingType FBXImportUnit
ShaderParamDefOptions siGraphicDriver ImportShaderTree
ShaderParameter siHardwareInputSemantic ReplaceShadersDefinition
ShaderParameterCollection siHardwareSurfaceDimension ReplaceShaderWithProgID
ShaderStructParamDef siPasteUVsMode SetReference2
ValueMap siResourceSharing SetShaderCompoundPropertiesEx
siShaderballDimension SIAddConnectionEntryToOverride
New Methods siShaderCustomDataType SIApplyShaderToCnxPoint2
PluginRegistrar.RegisterShader siShaderFamilyType UpdateReferencedModel
PluginRegistrar.RegisterShaderLanguageParser siShaderParameterAttribute
SceneItem.GetLocalPropertyFromName siShaderParameterDataType
SceneItem.GetPropertyFromName siShaderPropertyFilterType
X3DObject.FindChild2 siShaderReferenceFilterType
X3DObject.FindChildren2 siViewportFeature

C++ API Changes

... New Classes New Functions New Enums New Enum Values
CDataArray2DString Application::ExecuteScript siCollapseLayersPlottingType siClassID::siGraphicDriverID
CDataArray2DString::Accessor Application::GetShaderDef siGraphicDriver siClassID::siHardwareShaderContextID
CDataArrayString Application::GetShaderDefinitions siHardwareInputSemantic siClassID::siHardwareSurfaceID
CHardwareAttribute Application::RegisterShaderCustomParameterType siHardwareSurfaceDimension siClassID::siMetaShaderRendererDefID
CHardwareAttributeArray Application::RegisterShaderFamily siPasteUVsMode siClassID::siRenderTreeNodeID
CICEAttributeDataArray2DString CGraphicSequencer::GetFramebufferInfo siResourceSharing siClassID::siShaderArrayItemParameterID
CICEAttributeDataArrayString CGraphicSequencer::GetGraphicDriver siShaderballDimension siClassID::siShaderArrayParamDefID
GraphicDriver CGraphicSequencer::GetRendererProperty siShaderCustomDataType siClassID::siShaderArrayParameterID
HardwareShaderContext CGraphicSequencer::GetSetting siShaderFamilyType siClassID::siShaderballOptionsID
HardwareSurface CGraphicSequencer::GetViewportSize siShaderParameterAttribute siClassID::siShaderBaseID
HardwareSurface::Options CGraphicSequencer::IsPlayback siShaderParameterDataType siClassID::siShaderCommentID
MetaShaderRendererDef CGraphicSequencer::PutFramebufferData siShaderPropertyFilterType siClassID::siShaderCompoundID
ShaderArrayParamDef CGraphicSequencer::RegisterViewportCallback siShaderReferenceFilterType siClassID::siShaderCompoundParameterID
ShaderArrayParameter CGraphicSequencer::RegisterViewportMode siViewportFeature siClassID::siShaderContainerID
ShaderballOptions CString::Lower siClassID::siShaderDefID
ShaderDef CString::Upper Deprecated Enums siClassID::siShaderDefManagerID
ShaderParamDef CTime::ConvertFromPlayControlFormat siParticleAttributeType siClassID::siShaderParamDefContainerID
ShaderParamDefContainer CTime::ConvertToPlayControlFormat siParticleRenderTpe siClassID::siShaderParamDefID
ShaderParamDefOptions CTime::Round siClassID::siShaderParamDefOptionsID
ShaderParameter Desktop::DirtyAllViewports siClassID::siShaderParameterID
ShaderStructParamDef Desktop::SetDefaultOpenGLContext siClassID::siShaderStructParamDefID
ValueMap Factory::CreateShaderDef siClassID::siTimeTransportContextID
Factory::CreateShaderParamDefOptions siClassID::siTimeTransportID
Factory::CreateTimeTransport siClassID::siValueMapID
Factory::RemoveShaderDef siComponentDataType::siComponentDataTypeIcon
GraphicSequencerContext::GetAttribute siEventID::siOnAddShaderPort
GraphicSequencerContext::PutAttribute siEventID::siOnConnectShader
ImageClip2::GetHardwareSurface siEventID::siOnCreateShader
PluginRegistrar::RegisterShader siEventID::siOnCreateShaderDef
PluginRegistrar::RegisterShaderLanguageParser siEventID::siOnCustomShaderExport
ProjectItem::GetEvaluationID siEventID::siOnDisconnectShader
ProjectItem::GetHierarchicalEvaluationID siEventID::siOnRemoveShaderPort
RendererContext::SetObjectClean siICENodeDataType::siICENodeDataIcon
Scene::GetDefaultImageClip siICENodeDataType::siICENodeDataString
SceneItem::GetLocalPropertyFromName siMenuAnchorPoints::siMenuTextEditorContextID
SceneItem::GetPropertyFromName siRenderProcessType::siRenderProcessGenerateRenderMap
Shader::GetShaderDef siRenderQueryType::siRenderQueryWantDirtyList
View::GetRectangle siShaderParameterType::siArrayParameterType
X3DObject::FindChild2 siShaderParameterType::siColor3ParameterType
X3DObject::FindChildren2 siShaderParameterType::siCustomParameterType

This page was last modified 19:42, 9 Dec 2010.
This page has been accessed 17428 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy