Real-time REYES - PowerPoint PPT Presentation

About This Presentation
Title:

Real-time REYES

Description:

Very high resolution geometry for visibility. After shading ... Primitive order blending generates poor images. Depth order risks unbounded storage needs ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 14
Provided by: KayvonFa1
Category:
Tags: reyes | real | time

less

Transcript and Presenter's Notes

Title: Real-time REYES


1
Real-time REYES
  • Jeremy Sugerman

2
This Talk
  • Still exploring future GPUs, Direct3D / GL
  • This time in a software context
  • Offline REYES, as RenderMan, is king of the
    rendering world
  • What would real-time REYES look like?
  • Where are current GPUs / Direct3D and REYES the
    same? Similar? Different?

3
Background
  • The Reyes Image Rendering Architecture
  • Pixar Rob Cook, Loren Carpenter, Ed Catmull
  • SIGGRAPH 1987, First film 1985, Oscar 1993
  • An architecture optimized for fast high-quality
    rendering of complex animated scenes.
  • Fast feature-length film in a year
  • High-Quality virtually indistinguishable from
    live action
  • Complex as visually rich as real scenes.

4
REYES Features
  • Primitives are smooth surfaces
  • Automatic, adaptive refinement
  • Programmable shading including displacement
  • On surface-space grids
  • Very high resolution geometry for visibility
  • After shading
  • Stochastic sampling in time, space, lens
  • Motion-blur, anti-aliasing, depth of field
  • Order-independent (depth sorted) blending
  • Wide pixel reconstruction filtering

5
Basic REYES Pipeline
Parallel scalability is added with screen-space
bucketing computed during the Bounding and
Splitting. Deferring Dicing also allows each
bucket to be depth-sorted and occlusion culled.
6
REYES on a GPU?
  • If you squint at it right
  • Grids of micropolygons ? quads
  • Displace and shade ? shade vertices()
  • Bust bound, sample ? rasterize()
  • Blend filter ? blend filter()
  • Technically, OpenGL even includes implicit
    surface (NURBS) evaluators, but there is no
    serious support in (current) GPUs.

7
Opaque GPU-REYES
  • Tesselate to grids in advance (CPU, cache, )
  • Render grids as GL_QUADS
  • Displace, shade grids with a vertex shader
  • Cull, sample, and produce visible points with the
    rasterizer (MSAA / FSAA)
  • Reconstruction during ROP / FB
  • Flat fragment shading with micropolygons!
  • Current GPU lacking in tesselation, shading
    richness, stochastic sampling, blending

8
GPU Mismatches
  • High level surfaces versus triangles
  • Surface vertex shading versus fragment shading
  • Including a constrained shading language
  • Stochastic sampling versus MSAA rasterization
  • Depth order versus primitive order blending
  • Note REYES only tries to make pictures.
  • Bonus Opaque REYES is totally unordered.

9
Straightforward GPU Evolution
  • High level surfaces are already coming
  • Without ordering, performance is easy
  • Shading surface points versus pixels is fakeable
  • Less flexible GLSL/HLSL is fine
  • Unified shader cores help a lot
  • Adjust rast for small quad workloads
  • Stochastic sampling versus MSAA rasterization
  • Allow rast to time-sample linear motion

10
Sticking Point Blending
  • Primitive order blending generates poor images
  • Depth order risks unbounded storage needs
  • Samples must be buffered until all closer samples
    are blended.
  • Closest sample may not happen until the last grid
    of the last primitive.
  • Unbounded storage is anathema in GPU environments
    and real-time systems in general.

11
Options for Depth-Order Blending
  • Classic REYES buckets grids into screen-space
    partitions.
  • Reduces, but still does not bound, footprint
  • Assume GPU REYES has fixed on-chip buffers
  • Three options when a bucket fills
  • Rendering fails (awful)
  • Spill to memory (slow? when memory fills?)
  • Shrink bucket, discard samples newly outside
    (recomputation hard? too compute wasteful?)

12
GPU REYES Summary
  • Unordered
  • Retained mode input (at least for blending)
  • Simplified shading language
  • Separate opaque and blended modes
  • Constrained reconstruction filters
  • Bound and split on CPU? Simplified adaptivity?
  • Mandatory displacement shader separation?
  • Constraints on stochastic sampling?
  • Blending policy Primitive order? Spill? Shrink?

13
Acknowledgements
  • Kayvon has provided explanation and discussion
    beyond a point where I can separate any ideas
    unique to myself.
  • Kurt and Pat provided excellent historical
    context and insight.
  • Gordon Stoll and Bill Mark repeated the word
    REYES and insisted that its shading /
    anti-aliasing properties were valuable until I
    dug into it in self-defense.
Write a Comment
User Comments (0)
About PowerShow.com