particle strands, rigid body dynamics, soft body dynamics, cloth, hair and fluids. The default and tightly integrated rendering engine in Softimage is mental ray. Materials and shaders are built in a node-based fashion. When users activate a so-called render region in a camera view, it will render this section of the scene using the specified rendering engine and update completely interactively. A secondary rendering mode is available for rendering real-time GPU shaders written in either the Cg or HLSL languages. Also included is the FX Tree, which is a built-in node-based compositor that has direct access to image clips used in the scene. It can thus not only be used to finalize and composite rendered frames, but also as an integral part of scene creation. The FX Tree can be used to apply compositing effects to image clips being used in the fully rendered scene, allowing Softimage to render scenes using textures authored or modified in various ways within the same scene. In addition to the node-based ICE platform described below, Softimage has an extensive API and scripting environment that can be used to extend the software. The available scripting languages include C#, Python, VBScript and JScript. A C++ SDK is also available for plug-in developers, with online documentation available to the public. ICE Interactive Creative Environment On July 7, 2008, the Softimage, Co. announced Softimage|XSI 7, which introduced the ICE (Interactive Creative Environment) architecture. ICE is a visual programming platform that allows users to extend the capabilities of Softimage quickly and intuitively using a node-based dataflow diagram. This enables artists to create complex 3D effects and tools without scripting. Among the main uses for ICE are procedural modeling, deformation, rigging and particle simulation. It can also be used to control scene attributes without the need to write expressions, for example to add camera wiggle or make a light pulsate. ICE is a parallel processing engine that takes advantage of multi-core CPUs, giving users highly scalable performance. ICE represents Softimage functionality using a collection of nodes, each with its own specific capabilities. Users can connect nodes together, visually representing the data flow, to create powerful tools and effects. Softimage ships with several hundred nodes; among them are both low level nodes, such as Multiply or Boolean, as well as a number of high level nodes called compounds. Compounds serve as "wrapper nodes" to collapse ICE graphs into a single node.