Community Pick: Many members of our community have endorsed this article.
Editor's Choice: This article has been selected by our editors as an exceptional contribution.

Renderman, RSL and REYES

GrzeResearch & Development

1. What is RenderMan

RenderMan is a not any particular piece of software.
RenderMan is an industry standard, defining set of rules that any rendering software should use, to be RenderMan-compliant. Pixar's RenderMan is a flagship implementation of the Renderman standard, but not the only one. RenderMan-compliant sofware uses REYES rendering algorithm, RIB format for scene description, and RSL for shader writing.

2. What RenderMan renderers are available?

Commercial renderers:
Pixar's RenderMan - the flagship one, used by Pixar Studios in all their recent animated movies.
Sitex AIR.
Open Source renderers:

3. What is RSL

RSL is RenderMan Shading Language. It is a programming language, somewhat similar to C, but simplified and with a functionality limited mainly to processing shading, displacement, and light information. A simplest RSL surface shader might be:
surface simple_shader(float  Kfb = 1) /*fix brightness to 1 */
                      color surfacecolor = 1; /* simplified syntax for white (1,1,1) */
                      Oi = Os; /* surface opacity */
                      Ci = Oi * Cs * surfacecolor * Kfb; /*surface color */

Open in new window

4. What is REYES

REYES means Render Everything You Ever Saw (and nothing more). REYES is the rendering algorithm implemented in RenderMan. It is designed with both speed and control in mind.

5. Why is X renderer faster than RenderMan?

It might be, but it probably just seems to be. Most non-REYES renderers, especially in commercial 3D apps, are designed to achieve fast, photorealistic, and... static images. RenderMan excels where you need to create hundreds or thousands of frames of an animation. Most of the time, if you activate motion blur, DOF (depth of field) in other renderers, they will slow down significantly.

6. How do I use RenderMan with my favourite 3D modeler/software?

Some applications, e.g. Maya, Houdini, have support for RenderMan built-in. All you need is to install the renderer of your choice, check in the renderer's manual how to make Maya or Houdini aware that it is available, and have fun.
For other applications, that do not have such good integration with RenderMan, you can usually use exporters, to translate your scene to the RIB format, that the renderer will understand. For example, a Blender 2.5 exporter can be found here:

7. Ok, so I can't use RenderMan alone, can I?

Of course, you can. It might be a suggested way to go, when you start learning RenderMan. Learn the core of it using simple tools. Use any text editor to write RIB scene descriptions, and RSL shaders, compile them using command-line tools, and render the same way. While creating scenes in RIB is a bit cumbersome, shader writers very often rely on simple texts editors (vim, xemacs, jedit, any other of your choice), and command-line tools for shader compilation and testing.
The website: has a very nice, cross-platform editor running on any platform that supports Java. It is called Cutter, and has a multitude of tools to simplify shader development and testing. Best of all, it supports any RenderMan sofware you have installed.
GrzeResearch & Development

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.