- RenderMan Interface Specification
RenderMan Interface Specification [cite web | title=RenderMan - Developers Corner - RI Spec | url=http://renderman.pixar.com/products/rispec/ | accessdate=2005-12-18 ] , or RISpec in short, is an API developed by Pixar Animation Studios to describe three dimensional scenes and turn them into digital photorealistic images. It includes the
RenderMan Shading Language .As Pixar's technical specification for a standard
communications protocol (or interface) between modeling programs and rendering programs capable of producing photorealistic-quality images, RISpec is a similar concept toPostScript but for describing 3Dscene s rather than 2D page layouts. Thus, modelling programs which understand the RenderMan Interface protocol can send data to rendering software which implements the RenderMan Interface, without caring what renderingalgorithm s are utilized by the latter. The interface was first published in 1988 and was designed to be sufficientlyfuture proof to encompass advances in technology for a significant number of years.RenderMan is often used in creating digital
visual effects for the Hollywood blockbuster movies of today such as "Star Wars " and "The Lord of the Rings".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 introduced by the RISpec at the time was the specification of a
shading language (SL).The RenderMan shading language allows material definitions of
surface s to be described not only by adjusting a small set of parameters, but in an arbitrarily complex fashion by using a C-like programming language to writeshading procedures commonly known asprocedural textures andshader s. Lighting, and displacements on the surface are also programmable using theSL language. The shading language allows each statement to be executed in aSIMD manner, but does not insist on it. Another feature that sets 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 a single pass.RenderMan has much in common with
OpenGL , 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, 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 andanti-aliasing .
*Gamma correction anddithering 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 RenderManshading 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
*Programmable shading
*Special camera projections
*Spectral colors
*Ray tracing
*Shadow depth mapping
*Solid modeling
*Texture mapping
*Volume shading Further reading
*
*
*
*
*
*References
ee also
RenderMan compliant renderers
*
3Delight
* AIR
* Angel
*Aqsis
*Blue Moon Rendering Tools
*jrMan
*Pixie
*PhotoRealistic RenderMan External links
* [http://www.renderman.org/ RenderMan Repository]
* [http://www.rendermanacademy.com/ RenderMan Academy]
* [https://renderman.pixar.com/products/whatsrenderman/release.html Pixar’s Catmull, Carpenter & Cook receive Academy Award® of Merit Press Release]
*RenderMan-compliant renderers:
** [http://www.3delight.com/ Digits 'n Art's 3Delight]
** [http://www.sitexgraphics.com/ Sitexgraphics' AIR (Advanced Image Rendering)]
** [http://www.dctsystems.co.uk/RenderMan/angel.html Ian Stephenson's Angel]
** [http://www.aqsis.org/ Aqsis] (open source )
** [http://jrman.sourceforge.net/ jrMan] (open source , Java-based)
** [https://renderman.pixar.com/ Pixar's PhotoRealistic RenderMan]
** [http://pixie.sourceforge.net/ Pixie] (open source )
** [http://www.dotcsw.com/ DotC Software's RenderDotC]
*RenderMan exporters:
** [http://www.3delight.com/en/index.php/products/3delight_for_maya/3delight_maya_overview 3Delight for Maya] (connects 3Delight to Maya)
** [http://www.3delight.com/en/index.php/products/3delight_for_maya/3delight_xsi_overview 3Delight for XSI] (connects 3Delight toSoftimage XSI )
**Rising Sun Pictures ' [http://affogato.sf.net/ Affogato] (open source , connects several of the above renderers toSoftimage XSI )
** [http://www.td-grafik.de/softw/lightman.php?lang=en Tim Dapper's LightMan] (connects several of the above renderers toLightwave )
** [http://www.garagepost.tv/renderman.htm Felipe Esquivel's Light-R] (free, connects several of the above renderers toLightwave )
** [http://liquidmaya.sourceforge.net/ Liquid] (open source , connects several of the above renderers to Maya)
** [http://www.animallogic.com/?link=Products,MayaMan AnimalLogic's MayaMan] (connects several of the above renderers to Maya)
** [http://www.archonus.com/ Archonus' PaxRendus] (discontinued, connected several of the above renderers to3D Studio Max )
** [http://www.graphicprimitives.com/ Graphic Primitives' XSIMan] (connects several of the above renderers toSoftimage XSI )
*RenderMan tools:
** [http://ribkit.sourceforge.net/ RIBKit] (open source , various RenderMan tools, e.g. a visual shader building tool called 'SLer')
** [http://www.3delight.com/ZDoc/3delight_16.html RIBShrink] and [http://www.3delight.com/ZDoc/3delight_17.html RIBDepends] (tools that come with3Delight . Shrink RIBs to take less diskspace and move RIBs with dependencies to a new location and/or localize dependencies)
** [http://code.google.com/p/shaderman/ ShaderMan.Next] (open source , free shader building tool. A rewrite of [http://www.dream.com.ua/thetool.html ShaderMan] )
*Language Bindings:
** [http://cgkit.sourceforge.net/ Python Computer Graphics Kit] (open source , contains a Python binding for the RI)
** [http://rubyforge.org/projects/rubyman/ RubyMan] (open source , a Ruby binding for the RI)
** [http://grt.luaforge.net G&RT] (open source , a Lua binding for RI)
*RenderMan knowledge:
** [http://www.fundza.com/ CG References & Tutorials] by Prof. Malcolm Kesson
** [http://accad.osu.edu/~smay/RManNotes/rmannotes.html RenderMan Notes] (notes on shader writing)
** [http://www.vga.hr/resources/tutorials/3d/rsl/index.htm RenderMan Shader Language] by Dominik Susmel
** [http://www.smartcg.com/tech/cg/books/RfB Rendering for Beginners] RIB files and shaders from the book
Wikimedia Foundation. 2010.