RenderMan Interface Specification
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
The RenderMan Interface Specification,
As Pixar's technical specification for a standard
The interface was first published in 1988 (version 3.0) and was designed to be sufficiently
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 introduced by the RISpec at the time was the specification of a shading language.
The
RenderMan has much in common with OpenGL (developed by the now-defunct Silicon Graphics), despite the two APIs being targeted to different sets of users (OpenGL to real-time hardware-assisted rendering and RenderMan to photorealistic off-line rendering). Both APIs take the form of a stack-based state machine with (conceptually) immediate rendering of geometric primitives. It is possible to implement either API in terms of the other.
Required capabilities
For a renderer 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.
- perspectiveviewing transformations.
- Depth-based hidden-surfaceelimination.
- Pixel filtering and spatial anti-aliasing.
- 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
- Depth of field
- Displacement mapping
- Environment mapping
- Global illumination
- Level of detail
- Motion blur
- Special camera projections
- Spectral colors
- Ray tracing
- Solid modeling
- Volume shading
Further reading
See also
References
- ^ "RenderMan - Developers Corner - RI Spec". Archived from the original on 2009-05-16. Retrieved 2009-06-12.
External links
- Pixar’s RI Specs — the official specs.
- RenderMan Repository
- CG References & Tutorials by Prof. Malcolm Kesson
- RenderMan Notes (notes on shader writing)
- RenderMan Shader Language by Dominik Susmel
- Rendering for Beginners RIB files and shaders from the book