Interactive Ray Tracing CS 851 David Luebke University of Virginia.

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

Exploration of advanced lighting and shading techniques
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.
Photon Mapping on Programmable Graphics Hardware Timothy J. Purcell Mike Cammarano Pat Hanrahan Stanford University Craig Donner Henrik Wann Jensen University.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
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.
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia.
David Luebke1/19/99 CS 551/651: Advanced Computer Graphics David Luebke
Christian Lauterbach COMP 770, 2/11/2009
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 15: Ray Tracing/Global Illumination Ravi Ramamoorthi Slides.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Efficient Image-Based Methods for Rendering Soft Shadows
1 View Coherence Acceleration for Ray Traced Animation University of Colorado at Colorado Springs Master’s Thesis Defense by Philip Glen Gage April 19,
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.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
Real-Time Ray Tracing 3D Modeling of the Future Marissa Hollingsworth Spring 2009.
Computer Graphics Shadows
9/20/2001CS 638, Fall 2001 Today Finishing Up Reflections More Multi-Pass Algorithms Shadows.
Hidden Surface Removal
Computer Graphics Mirror and Shadows
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.
Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Interactive Ray Tracing #2 Peter Djeu April 22, 2003.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
Raytracing and Global Illumination Intro. to Computer Graphics, CS180, Fall 2008 UC Santa Barbara.
MIT EECS 6.837, Durand and Cutler Real-Time Shadows.
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.
Shadows. Shadows is important in scenes, consolidating spatial relationships “Geometric shadows”: the shape of an area in shadow Early days, just pasted.
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.
1 Ray Tracing with Existing Graphics Systems Jeremy Sugerman, FLASHG 31 January 2006.
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
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.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
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.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
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.
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Combining Edges and Points for Interactive High-Quality Rendering
© University of Wisconsin, CS559 Fall 2004
Ray Tracing on Programmable Graphics Hardware
Real-time Global Illumination with precomputed probe
Presentation transcript:

Interactive Ray Tracing CS 851 David Luebke University of Virginia

Admin Exchange names Decide on meeting times –Goal: two minute sessions/week Go over syllabus (oops) Note: next week we will crash Greg Humphrey’s Image Synthesis course –MEC 339 –Tue, Thu 3:30-4:45 –Videotaped if you can’t get there –No meetings otherwise.

Interactive Ray Tracing Long considered an oxymoron, or a joke –“Field of VAX”  “Field of Cray” Has quickly become a generally accepted part of the future of interactive graphics The big questions: –How? –Why?

Interactive Ray Tracing: Why do it? Ray tracing has some definite advantages over traditional “forward” rendering –Name some of them

Interactive Ray Tracing: Advantages Cliché, attributed to Jim Kajiya(?): “For a complex enough scene, ray tracing will always be faster” –Why would he say this? –When is it not true?

Interactive Ray Tracing: Advantages Efficient: –Asymptotically efficient: Depth complexity & early termination –“Just makes sense” efficient Triangles are a vehicle for hardware to efficiently interpolate pixels But triangles are getting smaller than pixels…

Interactive Ray Tracing: Advantages Elegant! –Whitted’s recursive ray tracing nicely addressed several problems at once: Visible surface determination Shadows Reflection/refraction –Its successors have addressed many more: Global illumination/indirect illumination Motion blur, depth of field Etc

Interactive Ray Tracing: Advantages Lends itself to sophisticated shading –Effects: motion blur, shadows, reflection, etc –Nice model for programmable shading –Antialiasing Stochastic sampling Adaptive supersampling Easy to add support for new primitives –Height field –NURBS –Volumes, implicit surfaces, metaballs, etc.

Interactive Ray Tracing: Advantages Scales well! –The term is “embarrassingly parallel” –Under what conditions? –What is a limiting factor in interactive use?

Interactive Ray Tracing: Advantages: Presents prospect for wacky new rendering algorithms and acceleration schemes –Decouples spatial sampling from raster grid Gaze-directed rendering Increased sampling near silhouettes, etc –Decouples spatial from temporal sampling Frameless rendering Interruptible rendering

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

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

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

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

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

Related Work: Utah 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 Some images and movies at:

Related Work: Wald & Slusallek Ingo Wald, Philip Slusallek: the next big contributors; lots of publications 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 Big ideas: –Coherence: Restructure ray tracing computation to increase coherence “Partial breadth-first evaluation” Ray trace small bundles of rays Intersect all rays in bundle with every triangle, even if some have already terminated Good cache coherence, can use SIMD instructions –Scalability: use cluster of PCs with client- server architecture Hand out bundles to be rendered Clients cache geometry (don’t replicate scene)

Related Work: The Render Cache Work by Bruce Walters, currently at Cornell; also by Reinhard et al (Utah) Basic idea: –Cache ray “hits” as shaded 3D points –Reproject points for new viewpoint –Now many pixels already have (possibly stale) color! Web page w/ good examples, source:

Related Work: The Ray Engine Nathan Carr, Jesse Hall, John Hart (University of Illinois) Basic idea: Put ray-tracing intersection on the fragment hardware –Ray intersection is a crossbar: Intersect a bunch of rays with a bunch of triangles, keep closest hit on each ray –Triangle rasterization is a crossbar: Intersect a bunch of pixels with a bunch of triangles, keep closest hit at each pixel

Related Work: Ray Tracing on Prog. Gfx Hdwr Tim Purcell, Ian Buck, Bill Mark, Pat Hanrahan (Stanford, NVIDIA) Idea: put all aspects of ray tracing computation into fragment hardware –Formulate ray tracing as a stream computation –Map streams to textures, kernels to fragment programs

Upcoming Topics Ray Tracing fundamentals (Humphreys) –Read Whitted (1980), any other readings Ray Tracing acceleration follow-up (Luebke, if necessary) Modern graphics hardware (Luebke) Papers to follow…

Projects A semester-long project related to interactive ray tracing –Code up an IRT –Do something interesting with an existing one –Novel sampling/reconstruction algorithms –Use the hypothetical cluster Project proposals due Mar 1 Can work in pairs

Questions?