The RenderMan Interface Specification (RISpec) is an open API developed by Pixar Animation Studios to describe 3D scenes and produce photorealistic images. First published in 1988, RISpec defines a communications protocol enabling modeling programs to send scene data to renderers without dependence on specific rendering algorithms. It introduced high-level geometric primitives and a programmable shading language, allowing complex material definitions, lighting, and surface displacement through a C-like language. Renderers using RISpec can output various variables like normals and lighting passes in one rendering pass. RISpec shares similarities with OpenGL, though it targets offline, photorealistic rendering rather than real-time graphics.
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.
- Orthographic and perspective viewing transformations.
- Depth-based hidden-surface elimination.
- Pixel filtering and spatial 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
- 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
- Apodaca, Anthony A.; Larry Gritz; Ronen Barzel (1999). Advanced RenderMan: Creating CGI for Motion Pictures. San Francisco: Morgan Kaufmann Publishers. ISBN 1-55860-618-1. OCLC 42621055.
- Ebert, David S.; F. Kenton Musgrave; Darwyn Peachey; Ken Perlin; Steven Worley (2003). Texturing and modeling: a procedural approach, 3rd ed. Burlington, MA: Morgan Kaufmann Publishers. ISBN 1-55860-848-6. OCLC 52689816.
- Raghavachary, Saty (2005). Rendering for Beginners: Image synthesis using RenderMan. Burlington, MA: Focal Press. ISBN 0-240-51935-3. OCLC 57670361.
- Stephenson, Ian (2002). Essential RenderMan Fast. London, New York: Springer. ISBN 1-85233-608-0. OCLC 50494960.
- Upstill, Steve (1990). The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics. Reading, Mass: Addison-Wesley. ISBN 0-201-50868-0. OCLC 19741379.
- Cortes, Rudy; Saty Raghavachary (2007). The RenderMan Shading Language Guide. Course Technology PTR. ISBN 978-1-59863-286-6.
See also
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
References
"RenderMan - Developers Corner - RI Spec". Archived from the original on 2009-05-16. Retrieved 2009-06-12. https://web.archive.org/web/20090516191715/http://renderman.pixar.com/products/rispec/ ↩