The RenderMan
interface is an API
that is used to communicate a 3D scene description (which includes 3D
geometry, light sources, a camera description, etc) to a renderer
which will produce a 2D image of that scene. The API itself is
independent of a particular renderer and can be used for any renderer
that adheres to the RenderMan standard.
There are some excellent renderers freely available, such
as 3Delight or the Open Source renderer
Aqsis or
Pixie. On the
commercial side, the most popular renderers are Pixar's
Photorealistic RenderMan (PRMan),
RenderDotC and
AIR.
The RenderMan interface was
created by Pixar and the official specification can be downloaded from
their site.
This document is not an introduction to the RenderMan interface itself, it just explains the usage of this particular Python binding. The binding was written to be compliant to v3.2 of Pixar's RenderMan Interface specification. However, it also supports some newer features such as string handles for light sources or object instances.
There is another RenderMan module called cri that interfaces a renderer directly. Almost everything that is said in this section applies to the cri module as well.