RenderMan is not a program in itself, but a rendering interface developed by Pixar in the early 1980's and released publicly in 1989 as RiSpec. RenderMan is often confused with PRMan, which is Pixar's commercial RenderMan compliant rendering program. RenderMan is actually deeply rooted with Pixar's history, and in many ways birthed the studio and software developer.
RenderMan Software
There are several commercial and open source RenderMan compliant renderers available, with of course Pixar's commercial PhotoRealistic RenderMan being the most popular and widely known implementation. Aqsis and Pixie are the most popular of the open source RiSpec renderers with active development.
RenderMan Interface Specification
What set the RISpec apart from other standards of the time was that it allowed using high-level geometric primitives, like quadrics or bicubic patches, to specify geometric primitives implicitly, rather than relying on a modeling application to generate polygons approximating these shapes explicitly beforehand. Another novelty introducting by the RISpec at the time was the specification of a shading language (SL).
The Renderman Shading Language allows material definitions of surfaces to be described in not only a simple manner, but also highly complex and custom manner using a C like language. Using this method as opposed to a pre-defined set of materials allows for complex procedural textures, new shading models and programmable lighting. Another thing that sets the renderers based on the RISpec apart from many other renderers, is the ability to output arbitrary variables as an image—surface normals, separate lighting passes and pretty much anything else can be output from the renderer in one pass.
Required capabilities
For a renderer, in order to call itself "RenderMan-compliant", it must implement at least the following capabilities:
- A complete hierarchical graphics state, including the attribute and transformation stacks and the active light list.
- Orthographic and perspective viewing transformations.
- Depth-based hidden-surface elimination.
- Pixel filtering and anti-aliasing.
- Gamma correction and dithering before quantization.
- Output of images containing any combination of RGB, A, and Z. The resolutions of these files must be as specified by the user.
- All of the geometric primitives described in the specification, and provide all of the standard primitive variables applicable to each primitive.
- The ability to perform shading calculations through user-programmable shading
- The ability to index texture maps, environment maps, and shadow depth maps
- The fifteen standard light source, surface, volume, displacement, and imager shaders required by the specification. Any additional shaders, and any deviations from the standard shaders presented in this specification, must be documented by providing the equivalent shader expressed in the RenderMan shading language.
Optional advanced capabilities
Additionally, the renderer may implement any of the following optional capabilities:
- Area light sources
- Bump mapping
- Deformations
- Depth of field
- Displacement mapping
- Environment Mapping
- Global illumination
- Level of detail
- Motion blur
- Programmable Shading
- Special camera projections
- Spectral colors
- Ray tracing
- Shadow depth mapping
- Solid modeling
- Texture mapping
- Volume shading
History - A brief history lesson of Pixar and the software that started it all; Photorealistic RenderMan.





