ray tracing depth maps using precomputed edge tables

Post on 15-Jan-2016

57 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Ray Tracing Depth Maps Using Precomputed Edge TablesRay Tracing Depth Maps Using Precomputed Edge Tables

Kevin Egan

Rhythm & Hues Studios

OverviewOverview

• Shadowing

• Ray tracing depth maps

• Our new technique

• Analysis and future work

ShadowingShadowing

• 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

Area Lights and Depth MapsArea 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

Ray Tracing Depth MapsRay 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

Side ViewSide View

area light

depth mapprojection point

shading point

shadow ray

pixel frusta

Side ViewSide View

area light

depth mapprojection point

shading point

shadow ray

pixel frusta

Side ViewSide View

area light

depth mapprojection point

shading point

pixel frusta

shadow ray

Overhead viewOverhead view

shadow raypixel frusta

shading point

Overhead viewOverhead view

shadow ray

shading point

pixel frusta

Overhead viewOverhead view

shadow ray

shading point

pixel frusta

Ray Tracing Depth MapsRay Tracing Depth Maps

• In Agrawala implementation tracing many rays leads to repeated depth map lookups

Overhead viewOverhead view

shadow rays

shading point

pixel frusta

Our WorkOur 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

Precomputed Edge TablesPrecomputed 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

Side ViewSide View

area light

depth mapprojection point

shading position

pixel frustaoccluder

shadow ray

Side ViewSide View

area light

depth mapprojection point

shading position

pixel frusta

bitmasks

shadow ray

Precomputed Edge TablesPrecomputed Edge Tables

• We can efficiently find all rays occluded by a single depth map pixel

Overhead viewOverhead view

shadow rays

shading point

pixel frusta

Precomputed Edge TablesPrecomputed 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

Precomputed Edge TablesPrecomputed 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

Precomputed Edge TablesPrecomputed Edge Tables

• Generate masks for some number of positions

precomputed maskpositions

Precomputed Edge TablesPrecomputed Edge Tables

• Masks generated for one pixel can be reused for all pixels

replicated maskpositions

precomputed maskpositions

Precomputed Edge TablesPrecomputed 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

Precomputed Edge TablesPrecomputed Edge Tables

new shadingposition

ResultsResults

ResultsResults

DrawbacksDrawbacks

• 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

BenefitsBenefits

• 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

Future WorkFuture Work

• Mixing ray tracing and precomputed depth maps

– Accuracy along silhouette edges

– Efficiency for other areas

• Multi-resolution depth map

• GPU implementation

Thanks!Thanks!

• Ivan Neulander

• Rhythm & Hues Studios

top related