Photorealistic RenderMan Support Page


Latest update: March 30, 2006

What is RenderMan?

RenderMan is a combination scene description language and photorealistic renderer. These two pieces are called RIB (for RenderMan Interface Bytestream) and prman, respectively.

RIB is a neutral file format designed to serve as an interface between any modeler and any renderer. prman is a renderer that takes RIB as an input and produces one or more images as output.

The most spectacular feature of prman is that is allows the user to specify user-specific functionality for different parts of the graphics pipeline. This functionality is expressed in terms of procedural code. Such code is referred to as a shader.

Generating RIB

There are three ways to generate a RIB file:

  1. Use the Pixar-supplied RIB library, librib. This exists on our Windows systems in CGEL, and can be linked to.

  2. Find out what RIB looks like, and generate the RIB instructions yourself through fprintf() calls.

  3. Type them into a .rib file yourself.

RenderMan User Documentation

bvrman

A Better View of RenderMan, or bvrman, is a Windows program to provide push-button access to RenderMan functionality. It is pronounced "Beaver-Man".

Click here to get the documentation.

Click here to get the Windows executable.

If you need glut32.dll, click here to get it.

In the OSU Computer Graphics Education Lab, you run bvrman with: Start -> All Programs -> Pixar -> bvrman.exe

Try Running This Demo

See what the OSU Graphics Group looked like running these files.

  1. Grab the following files:

    demo.rib The main RIB file
    dented.sl The dents displacement shader
    eroded.sl The erosion surface shader
    screen.sl The screen-door surface shader

    dented, eroded, and screen are all shaders from the book The RenderMan Companion, and are well-described there.

  2. Now run bvrman.

  3. In the RIB menu, select demo.rib. Click Edit so you can see what is in the file.

  4. demo.rib uses the stock RenderMan Plastic shader by default. Click on Render and wait for the image to pop up. If the console window is open, you can watch prman's progress.

  5. In the Shader menu, select each of the shaders and compile them:

  6. In demo.rib, comment out the Plastic shader line, and uncomment the Screen shader line. Click on Render.

  7. In demo.rib, comment out the Screen shader line, and uncomment the Eroded shader line. Click on Render.

  8. In demo.rib, comment out the Eroded shader line, and uncomment the Plastic shader line. Uncomment the Dented displacement shader line. Click on Render.

  9. You should see:
    Plastic Screen
    Eroded Plastic + Dented

  10. Now try changing some of the shader parameters or equations. If you change something in demo.rib, just click Render. If you change something in a shader .sl file, you must recompile it (click the Compile button) before rendering.

Books to Have

Steve Upstill, The RenderMan Companion, Addison-Wesley, 1990.
Tony Apodaca and Larry Gritz Advanced RenderMan: Creating CGI for Motion Pictures, Morgan Kaufmann / Academic Press, 2000.
Saty Raghavachary, Rendering for Beginners: Image Synthesis using RenderMan, Focal Press, 2005.

Shaders That Are Included with RenderMan

aachrome.sl ambientlight.sl bumpy.sl
carpet.sl causticlight.sl cloth.sl
cmarble.sl constant.sl cosinelight_rts.sl
cylinderlight.sl defaultlight.sl defaultsurface.sl
depthcue.sl diaknurl.sl disklight.sl
distantlight.sl fog.sl glassbal.sl
glassrefr.sl glass.sl indirectlight.sl
indirectsurf.sl linearlight.sl maps.sl
matte.sl metal.sl null.sl
paintedplastic.sl plastic.sl pointlight.sl
pointnofalloff.sl rectanglelight.sl rmarble.sl
rsmetal.sl shadowdistant.sl shadowpoint.sl
shadowspot.sl shinymetal.sl sinknurl.sl
spatter.sl spherelight.sl spotlight.sl
stippled.sl stone.sl texmap.sl
threads.sl wood.sl  

A Simple Example: Olympic Rings Surface and Displacement Shaders

Get the surface shader.
Get the displacement shader.

O = Os; O = clear;

Good Links: