Reyes rendering
Encyclopedia
Reyes rendering is a computer software architecture used in 3D computer graphics
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

 to render
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

 photo-realistic images. It was developed in the mid-1980s by Loren Carpenter
Loren Carpenter
Loren C. Carpenter is a computer graphics researcher and developer. He is co-founder and chief scientist of Pixar Animation Studios. He is the co-inventor of the Reyes rendering algorithm and is one of the authors of the PhotoRealistic RenderMan software which implements Reyes and which renders...

 and Robert L. Cook
Robert L. Cook
Robert L. Cook is a computer graphics researcher and developer, and the co-creator of the RenderMan rendering software. Cook was born in Knoxville, Tennessee and educated at Duke University and Cornell University. While at Cornell, Cook worked with Donald P. Greenberg. He is now Vice President of...

 at Lucasfilm
Lucasfilm
Lucasfilm Limited is an American film production company founded by George Lucas in 1971, based in San Francisco, California. Lucas is the company's current chairman and CEO, and Micheline Chau is the president and COO....

's Computer Graphics Research Group, which is now Pixar
Pixar
Pixar Animation Studios, pronounced , is an American computer animation film studio based in Emeryville, California. The studio has earned 26 Academy Awards, seven Golden Globes, and three Grammy Awards, among many other awards and acknowledgments. Its films have made over $6.3 billion worldwide...

. It was first used in 1982 to render images for the Genesis effect sequence in the movie Star Trek II: The Wrath Of Khan
Star Trek II: The Wrath of Khan
Star Trek II: The Wrath of Khan is a 1982 American science fiction film released by Paramount Pictures. The film is the second feature based on the Star Trek science fiction franchise. The plot features James T...

. Pixar's PhotoRealistic RenderMan
PhotoRealistic RenderMan
PhotoRealistic RenderMan, or PRMan for short, is a proprietary photorealistic RenderMan-compliant renderer.It primarily uses the Reyes algorithm but is also fully capable of doing ray tracing and global illumination....

 is one implementation of the Reyes algorithm.
According to the original paper describing the algorithm the Reyes image rendering system is "An architecture ... for fast high-quality rendering of complex images." Reyes was proposed as a collection of algorithms and data processing systems. However the terms "algorithm" and "architecture" have come to be used synonymously and are used interchangeably in this article.

Reyes is an acronym for Renders Everything You Ever Saw (the name is also a pun on Point Reyes
Point Reyes
Point Reyes is a prominent cape on the Pacific coast of northern California. It is located in Marin County approximately WNW of San Francisco. The term is often applied to the Point Reyes Peninsula, the region bounded by Tomales Bay on the northeast and Bolinas Lagoon on the southeast...

, California, near where Lucasfilm was located) and is suggestive of processes connected with optical imaging systems. According to Robert L. Cook
Robert L. Cook
Robert L. Cook is a computer graphics researcher and developer, and the co-creator of the RenderMan rendering software. Cook was born in Knoxville, Tennessee and educated at Duke University and Cornell University. While at Cornell, Cook worked with Donald P. Greenberg. He is now Vice President of...

, Reyes is written with only the first letter capitalized, as it is in the 1987 Cook/Carpenter/Catmull SIGGRAPH paper.

The architecture was designed with a number of goals in mind:
  • Model complexity/diversity: In order to generate visually complex and rich images users of a rendering system need to be free to model large numbers (100,000s) of complex geometric structures possibly generated using procedural models such as fractals and particle systems.

  • Shading complexity: Much of the visual complexity in a scene is generated by the way in which light rays interact with solid object surfaces. Generally, in computer graphics, this is modelled using textures. Textures can be colored arrays of pixels, describe surface displacements or transparency or surface reflectivity. Reyes allows users to incorporate procedural shaders whereby surface structure and optical interaction is achieved using computer programs implementing procedural algorithms rather than simple look-up tables. A good portion of the algorithm is aimed at minimising the time spent by processors fetching textures from data stores.

  • Minimal ray tracing: At the time that Reyes was proposed, computer systems were significantly less capable in terms of processing power and storage. This meant that ray tracing a photo-realistic scene would take tens or hundreds of hours per frame. Algorithms such as Reyes which didn't generally ray trace run much faster with almost photo-realistic results.

  • Speed: Rendering a two-hour movie at 24 frames per second in one year allows 3 minutes rendering time per frame, on average.

  • Image quality: Any image containing unwanted, algorithm-related artifacts is considered unacceptable.

  • Flexibility: The architecture should be flexible enough to incorporate new techniques as they become available, without the need for a complete reimplementation of the algorithm.


Reyes efficiently achieves several effects that were deemed necessary for film-quality rendering: Smooth, curved surfaces; surface texturing; motion blur
Motion blur
Motion blur is the apparent streaking of rapidly moving objects in a still image or a sequence of images such as a movie or animation. It results when the image being recorded changes during the recording of a single frame, either due to rapid movement or long exposure.- Photography :When a camera...

; and depth of field
Depth of field
In optics, particularly as it relates to film and photography, depth of field is the distance between the nearest and farthest objects in a scene that appear acceptably sharp in an image...

.

Reyes renders curved surfaces, such as those represented by parametric patches, by dividing them into micropolygon
Micropolygon
In 3D computer graphics, a micropolygon is a polygon that is very small relative to the image being rendered.Commonly, the size of a micropolygon is close to or even less than the area of a pixel...

s
, small quadrilaterals each less than one pixel in size. Although many micropolygons are necessary to approximate curved surfaces accurately, they can be processed with simple, parallelizable
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...

 operations. A Reyes renderer tessellates high-level primitives into micropolygons on demand, dividing each primitive only as finely as necessary to appear smooth in the final image.

Next, a shader system assigns a color and opacity to each vertex of a micropolygon. Most Reyes renderers allow users to supply arbitrary lighting and texturing functions written in a shading language
Shading language
A shading language is a special programming language adapted to map on shader programming. Those kind of languages usually have special data types like color and normal...

. Micropolygons are processed in large grids which allow computations to be vectorized.

Shaded micropolygons are sampled in screen space to produce the output image. Reyes employs an innovative hidden-surface algorithm or hider which performs the necessary integrations for motion blur and depth of field without requiring more geometry or shading samples than an unblurred render would need. The hider accumulates micropolygon colors at each pixel across time and lens position using a Monte Carlo method
Monte Carlo method
Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used in computer simulations of physical and mathematical systems...

 called stochastic sampling.

The basic Reyes pipeline
Graphics pipeline
In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refers to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware. The graphics pipeline typically accepts some representation of a three-dimensional...

 has the following steps:
  1. Bound. Calculate the bounding volume
    Bounding volume
    In computer graphics and computational geometry, a bounding volume for a set of objects is a closed volume that completely contains the union of the objects in the set. Bounding volumes are used to improve the efficiency of geometrical operations by using simple volumes to contain more complex...

     of each geometric primitive.
  2. Split. Split large primitives into smaller, diceable primitives.
  3. Dice. Convert the primitive into a grid of micropolygons, each approximately the size of a pixel.
  4. Shade. Calculate lighting and shading at each vertex of the micropolygon grid.
  5. Bust the grid into individual micropolygons, each of which is bounded and checked for visibility.
  6. Hide. Sample the micropolygons, producing the final 2D image.


In this design, the renderer must store the entire frame buffer in memory since the final image cannot be output until all primitives have been processed. A common memory optimization introduces a step called bucketing prior to the dicing step. The output image is divided into a coarse grid of "buckets," each typically 16 by 16 pixels in size. The objects are then split roughly along the bucket boundaries and placed into buckets based on their location. Each bucket is diced and drawn individually, and the data from the previous bucket is discarded before the next bucket is processed. In this way only a frame buffer for the current bucket and the high-level descriptions of all geometric primitives must be maintained in memory. For typical scenes, this leads to a significant reduction in memory usage compared to the unmodified Reyes algorithm.

Reyes renderers

The following renderers use the Reyes algorithm in one way or the other or at least allow users to select it to produce their images:
  • Digits 'n Art's 3Delight
    3Delight
    3Delight is a proprietary, photorealistic, RenderMan-compliant offline renderer.It is developed by DNA Research, or DNA in short, a subsidiary of Taarna Studios.-Features:...

     (link)
  • Aqsis
    Aqsis
    Aqsis is a free rendering suite compliant with the RenderMan standard. It is available under the GPL, with some parts under the LGPL. Its main author and project manager is Paul Gregory....

     (link)
  • jrMan
    JrMan
    jrMan renderer is an open source version of the Reyes rendering algorithm used by Pixar's PhotoRealistic RenderMan, implemented in Java by Gerardo Horvilleur, Jorge Vargas, Elmer Garduno and Alessandro Falappa....

     (link)
  • Pixar's RenderMan Pro Server & RenderMan for Maya
    PhotoRealistic RenderMan
    PhotoRealistic RenderMan, or PRMan for short, is a proprietary photorealistic RenderMan-compliant renderer.It primarily uses the Reyes algorithm but is also fully capable of doing ray tracing and global illumination....

     (link)
  • Pixels 3d Renderer (link)
  • Pixie
    Pixie (renderer)
    Pixie is a free , photorealistic raytracing renderer for generating photorealistic images, developed by Okan Arikan in the Department of Computer Science at The University of Texas At Austin...

     (link)
  • DotC Software's RenderDotC (link)
  • Side Effects Software's Mantra
    Houdini (software)
    Houdini is a high-end 3D animation package developed by Side Effects Software which is headquartered in Toronto, Canada. It is a rewrite of the PRISMS ecosystem of standalone tools. Its chief distinction from other packages is that it has been designed as a purely procedural environment...

     (link)
  • Poser's FireFly
    Poser
    Poser is a 3D CGI rendering and animation software program optimized for models that depict the human figure in three-dimensional form, mostly used to pose and animate the figures in a similar way as a mannequin...

     (link)
  • Mercenaries Engineering's Guerilla Render (link)
  • Bakery Relight (link)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK