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 shading: 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: Ambient Occlusion
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 Ray Tracing 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?