Per Christensen, Julian Fong, Jonathan Shade, Wayne Wooten, Brenden Schubert, Andrew Kensler, Stephen Friedman, Charlie Kilpatrick, Cliff Ramshaw, Marc Bannister, Brenton Rayner, Jonathan Brouillat, Max Liani
Pixar's RenderMan renderer is used to render all of Pixar's films, and
by many film studios to render visual effects for live-action movies.
RenderMan started as a scanline renderer based on the Reyes algorithm,
and was extended over the years with ray tracing and several global
This paper describes the modern version of RenderMan, a new
architecture for an extensible and programmable path tracer with many
features that are essential to handle the fiercely complex scenes in
movie production. Users can write their own materials using a bxdf
interface, and their own light transport algorithms using an
integrator interface -- or they can use the materials and light
transport algorithms provided with RenderMan. Complex geometry and
textures are handled with efficient multi-resolution representations,
with resolution chosen using path differentials. We trace rays and
shade ray hit points in medium-sized groups, which provides the
benefits of SIMD execution without excessive memory overhead or data
streaming. The path-tracing architecture handles surface, subsurface,
and volume scattering. We show examples of the use of path tracing,
bidirectional path tracing, VCM, and UPBP light transport algorithms.
We also describe our progressive rendering for interactive use and our
adaptation of denoising techniques.