Class 1: Rendering, RenderMan, RIB..

What is rendering?

Scene (objects, lights, camera, ie. 3D) ----> image (2D). In other words, a renderer is a 'software camera'.

Here's Chapter 1, 'Rendering', from the RfB book.


RenderMan is both an interface and an implementation too (by Pixar). More correctly, Pixar's implementation is 'PRMan'.

PRMan has been around since '89 or so. Today, a number of alternatives exist (RenderDotC, AQSIS, AIR, etc.).

What makes RenderMan great? Four things:

RenderMan has been used in a ton of movies. Here's a list:

Pixar has a tradition of introducing new features via shorts. Shorts to date:

All their shorts are online..

So how does RenderMan (specifically, PRMan) work?

With any renderer, a key feature subset is the list of primitives (geometric types) it can render. Here's what RenderMan can do.
Primitives slideshow

RIB syntax

RIB stands for 'RenderMan Interface Bytestream'. In practice, it is a file format.

RIB files have a hierarchical organization of scene data.

Translators such as MTOR produce RIB files, shaders and maps out of scene data. Here's how data flows into RenderMan:

Sample RIBs, shaders, maps

A good way to learn how PRMan works is to play with existing 'back end' RIB files, shaders and maps. Here are several examples.
Free software

Non-PRMan alternatives and environments
Other commercial renderers

RenderMan does have growing competition!
RMan will hopefully stay in the lead by continuing to introduce new features, improving rendering speed, continuing to augment the shading language ("RSL").
A Brief Introduction to RenderMan - my course notes from SIGGRAPH 2006