Download presentation
Presentation is loading. Please wait.
Published byYadira Langstaff Modified over 10 years ago
1
Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios
2
Overview Shadowing Ray tracing depth maps Our new technique Analysis and future work
3
Shadowing Shadows provide realism and a sense of depth We will focus on opaque objects casting shadows from an area light – Ray traced shadows – Depth maps area light occluder umbrapenumbra
4
Area Lights and Depth Maps Create and sample many depth maps Percentage closer filtering with an expanded filter region – Incorrect self-shadowing Ray tracing depth maps
5
Ray Tracing Depth Maps Agrawala et al. introduced techniques for ray tracing through depth maps (SIGGRAPH 2000) – Correctly cast rays from shading point to area light – Hierarchical depth map – Caching shadow rays – Trace one ray at a time
6
Side View area light depth map projection point shading point shadow ray pixel frusta
7
Side View area light depth map projection point shading point shadow ray pixel frusta
8
Side View area light depth map projection point shading point pixel frusta shadow ray
9
Overhead view shadow ray pixel frusta shading point
10
Overhead view shadow ray shading point pixel frusta
11
Overhead view shadow ray shading point pixel frusta
12
Ray Tracing Depth Maps In Agrawala implementation tracing many rays leads to repeated depth map lookups
13
Overhead view shadow rays shading point pixel frusta
14
Our Work Same basic idea as Agrawala et al. – Correctly cast rays from shading point to area light New datastructure for tracing many shadow ray segments in parallel
15
Precomputed Edge Tables Pick a shading position to precompute For each pixel frustum edge compute intersection with all shadow rays – For each intersection store bitmask recording which rays intersect below intersection point – We call this set of bitmasks an edge table
16
Side View area light depth map projection point shading position pixel frusta occluder shadow ray
17
Side View area light depth map projection point shading position pixel frusta bitmasks shadow ray
18
Precomputed Edge Tables We can efficiently find all rays occluded by a single depth map pixel
19
Overhead view shadow rays shading point pixel frusta
20
Precomputed Edge Tables For each pixel in filter region Lookup depth from depth map Find nearest bitmasks for all edges XOR bitmasks for incoming edges with outgoing edges Mark all occluded rays Record percentage of occluded rays
21
Precomputed Edge Tables Edge table masks store all relevant edge tables – Efficient and accurate computation for one shading position Assume the light source is planar and perpendicular to the axis of projection – One edge table mask can be used for many pixels
22
Precomputed Edge Tables Generate masks for some number of positions precomputed mask positions
23
Precomputed Edge Tables Masks generated for one pixel can be reused for all pixels replicated mask positions precomputed mask positions
24
Precomputed Edge Tables For new shading point move the nearest masks to the new shading position and linearly blend the results – Moving a mask from its precomputed position effectively shrinks or shifts the light
25
Precomputed Edge Tables new shading position
26
Results
28
Drawbacks Rendering time and memory consumption are dependent on: – Filter size (penumbra width) – Depth map resolution – Density of edge table masks Undersampling filter region does not give good results
29
Benefits Improvement to Agrawala implementation – Especially when shadow ray caching is ineffective – Precomputation for geometry and shadow rays More robust than percentage closer filtering Faster than ray traced shadows
30
Future Work Mixing ray tracing and precomputed depth maps – Accuracy along silhouette edges – Efficiency for other areas Multi-resolution depth map GPU implementation
31
Thanks! Ivan Neulander Rhythm & Hues Studios
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.