1 / 31

Ray Tracing Depth Maps Using Precomputed Edge Tables

Ray Tracing Depth Maps Using Precomputed Edge Tables. Kevin Egan Rhythm & Hues Studios. Overview. Shadowing Ray tracing depth maps Our new technique Analysis and future work. Shadowing. Shadows provide realism and a sense of depth

tass
Download Presentation

Ray Tracing Depth Maps Using Precomputed Edge Tables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 penumbra umbra

  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 depth map projection point area light shadow ray pixel frusta shading point

  7. Side View depth map projection point area light shadow ray pixel frusta shading point

  8. Side View depth map projection point area light shadow ray pixel frusta shading point

  9. Overhead view shadow ray pixel frusta shading point

  10. Overhead view shadow ray pixel frusta shading point

  11. Overhead view shadow ray pixel frusta shading point

  12. Ray Tracing Depth Maps • In Agrawala implementation tracing many rays leads to repeated depth map lookups

  13. Overhead view shadow rays pixel frusta shading point

  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 depth map projection point area light shadow ray pixel frusta occluder shading position

  17. Side View depth map projection point area light shadow ray bitmasks pixel frusta shading position

  18. Precomputed Edge Tables • We can efficiently find all rays occluded by a single depth map pixel

  19. Overhead view shadow rays pixel frusta shading point

  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

  27. 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

More Related