reyes
play

REYES You might be surprised to know that most REYES frames of - PDF document

REYES You might be surprised to know that most REYES frames of all Pixars films and shorts do not use a global illumination model for rendering! Instead, they use REYES REYES Goals of REYES Renders Everything You Ever Saw


  1. REYES • You might be surprised to know that most REYES frames of all Pixar’s films and shorts do not use a global illumination model for rendering! • Instead, they use REYES REYES Goals of REYES • Renders Everything You Ever Saw • Complex models (in an era of balls and planes!) • Developed by Pixar and still(?) used as • Model diversity (fractals, graftals, particle systems) primary architecture for Pixar’s Renderman • Shading Complexity implementation, prman • Minimal Ray Tracing (Use textures instead, focus on geometry) • Example of a “practical” rendering system. • Fast…needed for animations (feature length film ‘87, took 1 year, 3 min/frame) • Image quality (no jaggies, aliasing, Moiré patterns) • Build for flexibility REYES REYES Design Principles • Use natural coordinates • REYES uses a basic Z-buffer – Texturing in object space • Z-buffer algorithm – Visibility in image space • Exploit hardware capabilities (parallelism) – In addition to pixel values, array of depths at • Common representation for geometry each pixel is maintained • Locality – Geometric - one object at a time – Image space but object based algorithm – Texture - read texture once and only when needed – Eliminates ray tracing and radiosity – Only intensity of closest object is maintained. • Linearity - time f(model size) • Support (unlimitedly) large models • Back door to allow use alternatives to render some • Efficient access for texture maps 1

  2. REYES REYES – Major Components • Z-buffer • Reliance on texture mapping • Jitter supersampling • Micropolygons REYES – Reliance on Texture Mapping REYES - Texturing • All means are taken to avoid ray tracing/radiosity • Texture mapping efficiencies • Texture maps used for – Prefiltering of texture maps – Environment mapping – Have texture resolution match that of patch – Reflections resolution. – Bump/displacement mappings – normal, coordinate • Requires lots of work up front, which modifications eliminates the need to do it at runtime. – Shadows – depth information from light source • Especially efficient when considering rendering of multiple frames. REYES - Texturing Texture Mapping • Prefiltered textures • Mipmaps – Textures stored as “pyramid” of images at various resolutions – Resolutions between levels of pyramid are done via interpolation – MIPMaps / FlashPix (Kodak) 2

  3. REYES- Jittered REYES - Micropolygons Super-sampling • Shading values are calculated on a single geometric entity, the micropolygon • Same idea as in distributed ray tracing • Flat shaded quadrilaterals, half of a pixel on • Each pixel is subdivided into 16 subpixels each side • Exact location of each subpixel sample determined by jittering. – Why half of a pixel? • Z-buffer is kept at subpixel resolution • Each micropolygon is represented by a • Pixel value determined by averaging of subpixels single color. comprising it. REYES - The REYES Algorithm Micropolygons one geometric primitive at a time • Dicing - Geometric primitives and patches in screen space must be converted to micropolygons • Dice along boundaries in natural coordinate system of primitive into patches • Done in eye space although it uses an estimate in object coordinates of size on screen in screen coordinates • Primitives may need to be converted to to allow for patches before dicing other rendering REYES Shading REYES - Reading in Object • Each micropolygon (stored in a grid) is shaded and textured. • Object computes its • Note that shading is done before bounds in screen space visibility testing -> extra work • Object-based algorithm, i.e.., • Can be culled if not on done for whole object without screen regard for other objects • Enables use of vector • Is split into patches, if machines/vertex shaders(?) necessary • Avoids reloading textures • Controls subdivision coherency • Diced, if on screen • No clipping • No need to deal with perspective issues • Can use displacement maps 3

  4. REYES Visibility/Sampling REYES Picture Generation • Construct pixel values • Jitter sampling from subsamples performed • Additional filtering as • Visibility stored in z- required. buffer. • Compositing is done, if required, at this step REYES Example REYES • Rendered at • Quick and effective rendering using 1024x614 classical CG techniques • 6.8 million – No ray tracing micropolygons – No radiosity • Designed for efficiency Renderman and Rendering Renderman and Rendering • What Renderman does define: • Renderman is a rendering interface standard – C-based API for describing a scene – Does not define how rendering is to be performed. – Associate file format (RIB) • prman and BMRT are both Renderman – Shader language for procedural lighting, shading, modeling Compliant Renders: – prman uses REYES • Complexity and generality is a result of the – (Not clear what the latest prman uses) shader language. – BMRT supports Ray Tracing and Radiosity 4

  5. Renderman and Rendering Renderman and Rendering • Lighting Constructs in RSL • When writing a Renderman shader – Illuminance (point, axis, angle) – Illuminance can be used regardless of the • Computes all light arriving at a point within a given method of computation method. cone (axis and angle define the cone) • Could be from light sources or other objects • Separation of shading from a given – Implementation is up to the renderer thus • Could be determined using radiosity rendering technique. • Could be determined using ray tracing • Could be determined by indexing into a texture map. Rendering Questions • Summary – Rendering Equation – Ray Tracing – Radiosity – Two-Pass Global Illumination Method – Photon Mapping – REYES + Renderman • Efficient global illumination is still a hot research topic. 5

Recommend


More recommend