Computational Graphics: An Overview of Graphics Research @ NVIDIA

David Luebke Senior Director, NVIDIA Research Focus Areas

Complexity

Illumination

Graphics pipelines

Content creation costs

Copyright NVIDIA 2011 2 The Computational Graphics Continuum

“Just” programmable : DX, OGL The Computational Graphics Continuum

“Just” programmable “Pure” compute-based shading: DX, OGL graphics: CUDA, OptiX The Computational Graphics Continuum

Interesting middle ground!

“Just” programmable “Pure” compute-based shading: DX, OGL graphics: CUDA, OptiX Example:

Environment + Direct Only + Ambient Occlusion

Ambient Occlusion Volumes, McGuire (HPG 2010) Ambient Occlusion as Rasterization

Darken pixels by % of hemisphere blocked by nearby triangles

Compute triangle regions of influence to find affected pixels

Two Methods for Fast Ray-Cast Ambient Occlusion, Laine & Karras (EGSR 2010) Stochastic Rendering – See Eric & Morgan’s Talk!

Distribute samples over: Pixel (antialiasing) Time (motion blur) Lens (depth of field) Light (soft shadows)

Translucent surfaces (OIT)

Film studios universally use this

Copyright NVIDIA 2011 Cook et al. 1984: Distributed 8 Don’t Games Do These Visual Effects Already?

Stochastic techniques are:

More accurate

Burnout Paradise [Criterion Games 09] Copyright NVIDIA 2011 Just Cause 2 [Avalance & Eidos 10] 9 Don’t Games Do These Visual Effects Already?

Stochastic techniques are:

More accurate

More robust

Expensive Can we improve the image quality at affordable sampling rates?

Can we reduce the cost of generating samples? Noisy

Copyright NVIDIA 2011 10 Efficient Bounds for 5D Rasterization

Goal is to maximize sample test efficiency

Clipping causes problems…

Solve with fancy geometry

Screenspace u,v bounds

Clever dual space makes moving vertices affine in t Age of Conan (c) Funcom Clipless Dual-Space Bounds for Faster Stochastic Rasterization (SIGGRAPH 2011) Improving Image Quality

Smarter reconstruction of samples can make a huge difference

Global temporal light-field reconstruction (offline)

Local “sweep blur” over samples in neighboring pixels (near-realtime)

Even simpler non-stochastic “phenomenological” filter (real-time)

Copyright NVIDIA 2011 12 Improving Image Quality – Sneak Preview

4 paths/pixel – box filtered Ground truth – 2048 paths/pixel 4 paths/pixel – our reconstruction Improving Image Quality – Sneak Preview

Copyright NVIDIA 2011 14 Illumination – See Cyril’s Talk!

Copyright NVIDIA 2011 15 Programmable Graphics Pipelines

“Just” programmable “Pure” compute-based shading: DX, OGL graphics: CUDA, OptiX Copyright NVIDIA 2011 16 Our Approach

Try and implement a full pixel pipeline using CUDA From triangle setup to ROP

Obey fundamental requirements of graphics pipe Maintain input order Hole-free rasterizer with correct rasterization rules

Establish the “speed of light”, inspire future hardware Ultimate goal: flexibility of software, performance of fixed-function hardware

Copyright NVIDIA 2011 17 Performance

Slowdown: 1.4—2.6x 4.5—6.8x 5.9—8.1x 2.3—4.8x 2.0—3.6x

Call of Juarez scene courtesy of Techland S.T.A.L.K.E.R.: Call of Pripyat scene courtesy of GSC Game World The Code is Out There

http://code.google.com/p/cudaraster/ The End

Questions?