Download presentation
Presentation is loading. Please wait.
Published byMatthew Riley Modified over 9 years ago
1
Interactive Ray Tracing CS 851 David Luebke University of Virginia
2
Admin Exchange names Decide on meeting times –Goal: two 45-60 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.
3
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?
4
Interactive Ray Tracing: Why do it? Ray tracing has some definite advantages over traditional “forward” rendering –Name some of them
5
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?
6
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…
7
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
8
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.
9
Interactive Ray Tracing: Advantages Scales well! –The term is “embarrassingly parallel” –Under what conditions? –What is a limiting factor in interactive use?
10
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
11
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
12
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)
13
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
14
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
15
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
16
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: http://www.cs.utah.edu/~sparker/images.html
17
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 1.6-3.6 fps on models from 40K-8M tris –A cluster of 7 PCs achieves 5-10 fps on the 13 million triangle UNC Powerplant
18
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)
19
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: http://www.graphics.cornell.edu/research/interactive/rendercache/
20
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
21
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
22
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…
23
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
24
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.