[SItoA] Installing the alShaders in Softimage

Here’s how to install third-party, SPDL-based shaders, like alShaders, so that you can use them with SItoA. You could install them in a separate workgroup, but for simplicity I’m going to show how to install them in the SItoA workgroup.

In these instructions, $AL_SHADERS is the location where you extracted the alShaders download. For example, C:\solidangle\alShaders\alShaders-win-0.4.0b18-ai4.2.0.6.

$SITOA_WORKGROUP is the SItoA workgroup location. For example, C:\Users\StephenBlair\softimage\workgroups\sita-3.3.0-2014.

  1. Copy the alShader DLLs from

  2. Create a spdl folder in your Addons\SItoA\Application folder:

  3. Copy the alShader spdl files from

  4. Restart Softimage. The alShaders should show up in the Render Tree preset manager, and assuming that your version of alShaders is compatible with your SItoA, they’ll work in a render too.

Tip Don’t create an alShader from the Arnold > DLL Shaders menu; it won’t pick up the SPDL and you’ll get a raw PPG (and a raw render tree node too).

[SItoA] More about particle shapes

For the Point, and Sphere particles shapes, you get a single Arnold points node. For example, for the Sphere shape, you’d get a points node that looked something like this:

 name pointcloud.SItoA.Sphere.5000
 points 54 1 b85POINT
 radius 54 1 b85FLOAT
 mode "sphere"
 visibility 255
 sidedness 255
 1 0 0 0
 0 1 0 0
 0 0 1 0
 0 0 0 1
 shader "Sources.Materials.DefaultLib.Material.standard.SItoA.5000.2.sta_shading_group"
 id 832

This particular node is for 54 points in sphere mode. For each point, you get the center position (the points.points parameter) and a radius (the points.radius parameter). If there’s any scaling applied to the particle in ICE, the radius is multiplied by the X scaling of the particle.

For the Point shape, you get an Arnold points node in “disk” mode, with radius = size * X scaling.

For the other supported shapes, you get the corresponding Arnold shape.

[SItoA] Arnold, ICE, and Shapes

SItoA translates ICE particle shapes to native Arnold shapes. The supported particle shapes are already documented here, but here’s a little more information about how they are translated.

ICE Shape Arnold Shape
Point points (mode “disk”)
Disc disk
Rectangle box (with 0 height)
Box box
Sphere points (mode “sphere”)
Cylinder cylinder
Cone cone
Instance Shape ginstance

The Segment, Capsule, and Blob shapes are not supported. SItoA skips them and they are not translated into the Arnold scene source.

[SItoA] Subdivision settings for polygon meshes

To show you where the polygon mesh subdivision settings are in Softimage, I’m going to start in Arnold and work back into Softimage via SItoA.

So, let’s start with an Arnold polymesh shape, which has a number of subdivision parameters:

C:\solidangle\Arnold-\bin>kick -info polymesh | find "subdiv"
ENUM          subdiv_type                       none
BYTE          subdiv_iterations                 1
FLOAT         subdiv_pixel_error                0
NODE          subdiv_dicing_camera              (null)
ENUM          subdiv_adaptive_metric            auto
ENUM          subdiv_uv_smoothing               pin_corners
BOOL          subdiv_smooth_derivs              false

In Softimage, you access most of these subdivison parameters by adding an Arnold Parameters property to a polygon mesh (you can’t add new parameters to Softimage built-in objects like a PolygonMesh, so we have to use a custom property).

  • subdiv_iterations
  • subdiv_pixel_error
  • subdiv_adaptive_metric
  • subdiv_smooth_derivs (Shape group)

Other Arnold subdiv parameters are mapped to existing Softimage parameters:

  • subdiv_uv_smoothing is mapped to Smooth when subdividing in the
    Texture Projection Property Editor. If Smooth when subdividing is enabled, then subdiv_uv_smoothing is set to pin_corners; otherwise, it’s set to linear.
  • subdiv_type is mapped to the Subdivision Rule list in the Polygon Mesh property editor. Linear goes to linear, and anything else (XSI-Doo-Sabin, Catmull-Clark) goes to catclark.

Finally, subdiv_dicing_camera is on the Subdivision tab of the global Render Settings.