General Guidelines

Here are some general guidelines for developing render tree-compatible shaders:

• Break complex shaders into simple, reusable blocks that do one thing and one thing only.

• Use the mi_eval() macros to evaluate parameter values. This allows shader parameters to be connected to other shaders in a render tree. Without mi_eval, the shader is not render tree-compliant. Note that mi_eval is not required for parameters that are not marked as texturable. Also, it is not necessary to use mi_eval on the index and offset parameters for arrays.

About the SOFTIMAGE|3D Shaders and Parameter Structures

• Don’t build render trees using the SI|3D shaders. Instead, use the sib_ and mib_ base shaders.

• Don’t build shaders that rely on the SOFTIMAGE|3D si_default default parameter structures (such as soft_light and soft_material). This structure does not exist in the same form in Softimage.

For example, suppose you had a SI|3D shader that was built on top of soft_material and then applied some effect to the color returned by soft_material.

Instead of calling soft_material, the shader can expose a color parameter that can be connected to a material or illumination shader. So some other shader provides the color, and the shader then does something extra to that color and returns it.



Autodesk Softimage v7.5