Rendering
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
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:
- awesome image quality
- excellent performance (speed, stability)
- vast feature set
- powerful customizability (via shading language, procedural plugins, output drivers..)
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
- cygwin: Unix-like shell for
PCs
- AQSIS: excellent
open-source RenderMan-compliant implementation
- ShaderMan: shader builder UI
- others..
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