← Back to results

Reyes rendering - Wikipedia Jump to content Main menu Ma

in menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Name 2 Architecture Toggle Architecture subsection 2.1 Pipeline 3 Reyes renderers 4 References 5 External links Toggle the table of contents Reyes rendering 3 languages Deutsch 한국어 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Computer software architecture in 3D computer graphics Aqsis Reyes render of the Utah teapot with a displacement shader Reyes rendering is a computer software architecture used in 3D computer graphics to render photo-realistic images. It was developed in the mid-1980s by Loren Carpenter and Robert L. Cook at Lucasfilm 's Computer Graphics Research Group, which is now Pixar . [ 1 ] It was first used in 1982 to render images for the Genesis effect sequence in the movie Star Trek II: The Wrath of Khan . Pixar's RenderMan was an implementation of the Reyes algorithm, It has been deprecated as of 2016 and removed as of RenderMan 21. [ 2 ] 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 in this context and are used interchangeably in this article. [ citation needed ] Name [ edit ] Reyes is an acronym for Renders Everything You Ever Saw (the name is also a pun on Point Reyes , California, near where Lucasfilm was located) and is suggestive of processes connected with optical imaging systems. According to Robert L. Cook , Reyes is written with only the first letter capitalized, as it is in the 1987 Cook/Carpenter/Catmull SIGGRAPH paper. Architecture [ edit ] 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 ; and depth of field . Reyes renders curved surfaces, such as those represented by parametric patches , by dividing them into micropolygons , 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 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 . 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 called stochastic sampling . Pipeline [ edit ] The basic Reyes pipeline has the following steps: Bound. Calculate the bounding volume of each geometric primitive. Split. Split large primitives into smaller, diceable primitives. Dice. Convert the primitive into a grid of micropolygons, each approximately the size of a pixel. Shade. Calculate lighting and shading at each vertex of the micropolygon grid. Bust the grid into individual micropolygons, each of which is bounded and checked for visibility. 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 [ edit ] 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 ( link ) Aqsis ( link ) open source jrMan ( link ) open source Pixar's RenderMan Pro Server & RenderMan for Maya ( link ) up to version 20 (released in 2015) [ 3 ] Pixels 3d Renderer ( link ) Pixie ( link ) open source DotC Software's RenderDotC ( link ) Side Effects Software's Mantra ( link ) Poser's FireFly ( link ) Bakery Relight ( link ) Unreal Engine ( link ) References [ edit ] ^ RenderMan@20: Ed Catmull and Dana Batali Reflect On Pixar's Killer App " ^ "Pixar ships RenderMan 21 | CG Channel" . 2016-07-20 . Retrieved 2021-03-11 . ^ "Pixar ships RenderMan 21 | CG Channel" . www.cgchannel.com . Retrieved 2016-07-22 . Robert L. Cook ., Loren Carpenter , and Edwin Catmull . " The Reyes Image Rendering Architecture ." Computer Graphics ( SIGGRAPH '87 Proceedings) , pp. 95–102. Anthony Apodaca and Larry Gritz . Advanced RenderMan: Creating CGI for Motion Pictures . Morgan Kaufmann Publishers. ISBN   1-55860-618-1 External links [ edit ] REYES, Primitives & Some Philosophy Welcome to Renderman: Reyes v t e Computer graphics Vector graphics Diffusion curve Pixel 2D graphics Alpha compositing Layers Text-to-image 2.5D Isometric graphics Mode 7 Parallax scrolling Ray casting Skybox 3D graphics 3D projection 3D rendering ( Image-based Spectral Unbiased ) Aliasing Anisotropic filtering Cel shading Fluid animation Lighting Global illumination Hidden-surface determination Polygon mesh ( Triangle mesh ) Shading Deferred Surface triangulation Wire-frame model Concepts Affine transformation Back-face culling Clipping Collision detection Planar projection Reflection Rendering Beam tracing Cone tracing Checkerboard rendering Ray tracing Path tracing Ray casting Scanline rendering Rotation Scaling Shadow mapping Shadow volume Shear matrix Shader Texel Translation Volume rendering Voxel Graphics software 3D computer graphics software animation modeling rendering Raster graphics editors Vector graphics editors Algorithms List of computer graphics algorithms Retrieved from " https://en.wikipedia.org/w/index.php?title=Reyes_rendering&oldid=1356840878 " Category : 3D rendering Hidden categories: Articles with short description Short description is different from Wikidata All articles with unsourced statements Articles with unsourced statements from March 2020 This page was last edited on 30 May 2026, at 03:58  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Reyes rendering 3 languages Add topic