There are hierarchical, conditional and procedural objects available, as well as local variables. Also recursive structures are possible. The included object set provides the user with a visual programming language, which is specialized in creating algorithms for shading effects. There are tens of channels available, and an extensive set of objects with a variety of options; the number of possible combinations created using these elements is unlimited.
Most built-in and also user defined custom objects, if implemented properly, are 'reusable'. For example, a texture mapping object can be assigned to the transparency channel as well as to the color channel. Nevertheless, some objects have quite a special purpose: for example, the computations made by the bump map object are specifically designed for modifying surface orientation. One can assign the bump map object to the color channel, but the result hardly makes sense.