GCAFE 28 Feb 20081 Real-time REYES Jeremy Sugerman.

Slides:



Advertisements
Similar presentations
Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
CS 4363/6353 BASIC RENDERING. THE GRAPHICS PIPELINE OVERVIEW Vertex Processing Coordinate transformations Compute color for each vertex Clipping and Primitive.
GPUs and GPU Programming Bharadwaj Subramanian, Apollo Ellis Imagery taken from Nvidia Dawn Demo Slide on GPUs, CUDA and Programming Models by Apollo Ellis.
High-Performance Software
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
Results / Compared to Relief Mapping It does not scale linearly with screen coverage as does the other techniques. However, for larger displacements, it.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Real-Time Reyes: Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis.
Reducing Shading on GPUs Using Quad-Fragment Merging JAEHYUN CHO
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Real-Time Reyes-Style Adaptive Surface Subdivision
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Status – Week 277 Victor Moya.
Many-Core Programming with GRAMPS Jeremy Sugerman Kayvon Fatahalian Solomon Boulos Kurt Akeley Pat Hanrahan.
Anjul Patney University of California, Davis Real-Time Reyes Programmable Pipelines and Research Challenges.
Many-Core Programming with GRAMPS & “Real Time REYES” Jeremy Sugerman, Kayvon Fatahalian Stanford University June 12, 2008.
Many-Core Programming with GRAMPS Jeremy Sugerman Stanford University September 12, 2008.
3D computer graphic Basis for real-time rendering and GPU architecture 劉哲宇,Liou Jhe-Yu.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Hidden Surface Removal
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Filtering Approaches for Real-Time Anti-Aliasing /
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Surface displacement, tessellation, and subdivision Ikrima Elhassan.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging.
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
A Closer Look At GPUs By Kayvon Fatahalian and Mike Houston Presented by Richard Stocker.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Computing & Information Sciences Kansas State University Lecture 12 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
1cs426-winter-2008 Notes. 2 Atop operation  Image 1 “atop” image 2  Assume independence of sub-pixel structure So for each final pixel, a fraction alpha.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Siggraph 2009 RenderAnts: Interactive REYES Rendering on GPUs Kun Zhou Qiming Hou Zhong Ren Minmin Gong Xin Sun Baining Guo JAEHYUN CHO.
Applications and Rendering pipeline
- Introduction - Graphics Pipeline
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
Graphics Processing Unit
Deferred Lighting.
Introduction to OpenGL
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Hybrid Ray Tracing of Massive Models
Graphics Processing Unit
UMBC Graphics for Games
RADEON™ 9700 Architecture and 3D Performance
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Introduction to OpenGL
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

GCAFE 28 Feb Real-time REYES Jeremy Sugerman

GCAFE 28 Feb 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?

GCAFE 28 Feb 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.

GCAFE 28 Feb 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

GCAFE 28 Feb Basic REYES Pipeline Split Blend & Filter Sample Bust & Bound Shade Dice Bound Primitives Unshaded Grids Shaded Grids Micropolygons Visible Points Primitives Multiple Primitives 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.

GCAFE 28 Feb 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.

GCAFE 28 Feb 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

GCAFE 28 Feb 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.

GCAFE 28 Feb 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

GCAFE 28 Feb 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.

GCAFE 28 Feb 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?)

GCAFE 28 Feb 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?

GCAFE 28 Feb 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.