Shaders, Appearances & Templates

return to main index


HyperShade, RenderMan and Slim use different words to describe similar concepts. For example, the words shown in bold are equivalent,
     HyperShade - material
     RenderMan - (surface) shader
     Slim - appearance (but also applies to volumes, lights & displacements)

Within its interface, slim does not directly refer to shaders. Instead, it refers to appearances. From an artists point of view an appearance is a node that can be connected to other nodes to make a shading network. An imported appearance, on the other hand, appears as a "stand-alone" node that cannot be linked to other nodes.

So, what are the diffences between imported and created appearances and how do they compare to regular RenderMan shaders? The following chart shows the distinction between an imported appearance and a created appearance - both of which are called plastic.

Within HyperShade

Within Slim

- a required shader called plastic.slo and
- an optional file called plastic.slim.

- a file called shadingmodels.slim

What is plastic.slo?
- based on a source code file called
- its a pre-compiled RenderMan shader
- contains info only prman can understood
- static (predefined functionality)
- its parameters can be set only by
    explicit values, or

What is plastic.slim?
- a plain text file known as a slim appearance
- defines the GUI for the editor
  (the calculations are done by the shader)

If the optional slim appearance file is missing Slim defines a bare-bones editor for the shader - it may lack some useful features needed by an artist.

What is shadingmodels.slim?
- not compiled
- a plain text file known as a slim template
- contains info humans can understand about
    what its editor should look like (GUI), and
    how it should calculate its output values
- dynamic (can be extended via connections)
- its parameters can be set by
    explicit values,
    expressions, or
    connections to other slim files.

Slim generates, on-the-fly, a temporary .sl file that incorporates the functionality in shadingmodels.slim and the other slim files to which it may be connected. The temporary .sl file is compiled into a RenderMan shader by Slim when the preview icon is updated (clicked).

© 2002- Malcolm Kesson. All rights reserved.