Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia.

Slides:



Advertisements
Similar presentations
The OpenRT Application Programming Interface - Towards a Common API for Interactive Ray Tracing – OpenSG 2003 Darmstadt, Germany Andreas Dietrich Ingo.
Advertisements

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.
Sven Woop Computer Graphics Lab Saarland University
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Physically Based Real-time Ray Tracing Ryan Overbeck.
Breaking the Frame David Luebke University of Virginia.
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
A Coherent Grid Traversal Algorithm for Volume Rendering Ioannis Makris Supervisors: Philipp Slusallek*, Céline Loscos *Computer Graphics Lab, Universität.
GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
Two-Level Grids for Ray Tracing on GPUs
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Ray Tracing Variants Distributed ray tracing Generalized rays Cone Tracing Beam Tracing Pencil.
1 Dr. Scott Schaefer Shadows. 2/40 Shadows Shadows provide clues about depth Make scenes appear more realistic.
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
Christian Lauterbach COMP 770, 2/11/2009
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Introduction to Volume Rendering Presented by Zvi Devir.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Enhancing and Optimizing the Render Cache Bruce Walter Cornell Program of Computer Graphics George Drettakis REVES/INRIA Sophia-Antipolis Donald P. Greenberg.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
Real-Time Ray Tracing 3D Modeling of the Future Marissa Hollingsworth Spring 2009.
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
CSC418 Computer Graphics n Raytracing n Shadows n Global Illumination.
Hidden Surface Removal
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Interactive Ray Tracing #2 Peter Djeu April 22, 2003.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
Raytracing and Global Illumination Intro. to Computer Graphics, CS180, Fall 2008 UC Santa Barbara.
Interactive Ray Tracing CS 851 David Luebke University of Virginia.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Computer graphics & visualization Photon Mapping.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Introduction to Realtime Ray Tracing Course 41 Philipp Slusallek Peter Shirley Bill Mark Gordon Stoll Ingo Wald.
Using Interactive Ray Tracing for Interactive Global Illumination Computer Graphics Lab Saarland University, Germany
Department of Computer Science 1 Beyond CUDA/GPUs and Future Graphics Architectures Karu Sankaralingam University of Wisconsin-Madison Adapted from “Toward.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Ray Tracer Spring 2008 Help Session. Outline Project Web Resources What do you have to do for this project? Ray Class Isect Class Requirements Tricks.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Dynamic Scenes Paul Arthur Navrátil ParallelismJustIsn’tEnough.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
MIT EECS 6.837, Durand and Cutler The Graphics Pipeline: Projective Transformations.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Virtual Light Field Group University College London Ray Tracing with the VLF (VLF-RT) Jesper Mortensen
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
David Luebke3/12/2016 Advanced Computer Graphics Lecture 3: More Ray Tracing David Luebke
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
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.
Real-Time Ray Tracing Stefan Popov.
Hybrid Ray Tracing of Massive Models
© University of Wisconsin, CS559 Fall 2004
Ray Tracing Dinesh Manocha COMP 575/770.
(c) 2002 University of Wisconsin
Ray Tracing on Programmable Graphics Hardware
Presentation transcript:

Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia

Interactive Ray Tracing l Long considered an oxymoron or a joke l Has quickly become a generally accepted part of the future of interactive graphics l The big questions: –Why do interactive ray tracing? –How to do interactive ray tracing?

Interactive Ray Tracing: Why do it? l Ray tracing has some definite advantages over traditional “forward” rendering: –Complex shading –Big data –Decoupled sampling l Also disadvantages: –Less well suited to hardware implementation –Slow

Interactive Ray Tracing: Advantages l Complex shading –Easier to get global illumination effects n Shadows, indirect illumination, color bleeding n Reflections, refractions, caustics –Easier to get lens and film effects n Motion blur, depth of field n flare, bloom –Simpler model for programmable shading –Flexible primitive definition

Interactive Ray Tracing: Advantages l Big data –Time complexity grows logarithmically with number of polygons n Why is this? n When is it not true? –Cliché, attributed (I believe) to Jim Kajiya: “For a complex enough scene, ray tracing will always be faster” n Early termination n Deferred shading n Overhead (triangles as a vehicle for interpolation)

Interactive Ray Tracing: Advantages l Decouples sampling …from the raster grid: n Stochastic antialiasing, adaptive sampling n Prioritized sampling: gaze-directed rendering, increased sampling near silhouettes, etc …from the frame n Stochastic motion blur n Wacky new algorithms: frameless rendering, interruptible rendering

Interactive Ray Tracing: Disadvantages l Time complexity grows linearly with the number of pixels –And there’s a lot of pixels on today’s displays n We rarely want to render a million polygons at interactive rates n We often want to render a million pixels at interactive rates –However, displays are growing more slowly than models

Interactive Ray Tracing: Disadvantages l Recursive ray tracing is an elegant and simple algorithm l It’s also poorly suited to efficient hardware implementation –Recursion == bad –Poor memory coherence (especially for naive depth-first algorithm) –We’ll return to these issues

Interactive Ray Tracing: Disadvantages l As a result there’s no real ray tracing hardware –Some entrepreneurial stabs –Some special markets n Volume-rendering hardware n Accelerated offline rendering hardware –But nothing to compare with maturity and size of polygon rendering hardware market

Interactive Ray Tracing: How l The good news: –Ray tracing is embarrassingly parallel... if you can afford the memory l The bad news: –The memory access patterns of ray tracing are not very friendly

Recursive Ray Tracing: Memory Access l Consider recursively traversing rays through a complex scene

Recursive Ray Tracing: Memory Access l Consider recursively traversing rays through a complex scene –Overlay an acceleration structure (say, a grid) –What cells need to be in memory over time? –How much coherence is there between adjacent pixels? l Lessons: –Interactive ray tracing requires careful attention to memory coherence –Naïve parallelization may not help

Brute Force: Parker et al. (1999) l First true interactive ray tracing system: Parker et al, U. of Utah, 1999 –Brute force… n Straightforward implementation n Explicitly traces rays through every pixel n Simple acceleration structure (uniform grid) n Careful attention to optimizing system resources …on a $2.5 million supercomputer n 64 node SGI Origin “Reality Monster” n CC-NUMA shared-memory multicomputer n Fast interconnect n Fine-grained message passing

Parker et al. l Parker et al demonstrated several advantages of ray tracing: –Big data –Sophisticated shading –Direct rendering of multiple primitives –Frameless rendering l Other contributions –A clever soft shadows hack –A clever ambient lighting hack l Show the movie

Parker et al. Lessons Learned l A big enough hammer CAN do the job l Careful optimization is important… …but computation is often cheaper than communication …so optimize memory as well as CPU

Related Work: Utah l Since then, the Utah group has done research on: –Ray tracing dynamic scenes: incrementally updating acceleration data structures –Ray tracing volumes: lots of acceleration techniques for volumes, e.g. MRI data –A cute trick for improving the appearance of antialiased ray-traced images during motion l Some images and movies at:

Distributed Computing: Wald & Slusallek l Ingo Wald, Philip Slusallek: the next big contributors; lots of publications l Basic idea: ray trace on standard PC hardware, scale to clusters –On dual-PIII 800 MHz, report fps on models from 40K-8M tris –A cluster of 7 PCs achieves 5-10 fps on the 13 million triangle UNC Powerplant

Related Work: Wald & Slusallek l Coherence: Restructure ray tracing computation to increase coherence –“Partial breadth-first evaluation” –Ray trace small bundles of rays n Intersect all rays in bundle with every triangle, even if some have already terminated n Good cache coherence, can use SIMD instructions

Wald & Slusallek l Scalability: use cluster of PCs with client-server architecture –K-D tree acceleration structure –Server hands out bundles to be rendered –Clients cache geometry (not entire scene) –System tries to allocate ray bundles to clients that already have needed geometry in cache

Wald & Slusallek l Show some movies l They have taken their work into the OpenRT effort –Goal: industry-standard ray tracing system with OpenGL-like semantics