RenderMan Shading Language

Renderman Shading Language (abbreviated RSL) is a component of the RenderMan Interface Specification, and is used to define shaders.

A shader written in RSL can be used without changes on any RenderMan-compliant renderer, such as Pixar's PhotoRealistic RenderMan, DNA Research's 3Delight, Sitexgraphics' Air or an open source solution such as Pixie or Aqsis.

RenderMan Shading Language defines standalone functions and five types of shaders: surface, light, volume, imager and displacement shaders.

The arguments to the shaders are global parameters that are attached to objects of the model (so one metal shader can be used for different metals and so on).

For example, the following function computes vector length using the dot product operator ".