efficient raytracing of deforming point-sampled surfaces mark pauly leonidas j. guibas bart adams...

Post on 14-Jan-2016

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Efficient Raytracing of Deforming Efficient Raytracing of Deforming Point-Sampled SurfacesPoint-Sampled Surfaces

Mark PaulyLeonidas J. Guibas

Bart AdamsPhilip Dutré

Richard KeiserMarkus Gross

ContributionsContributions

dynamic bounding sphere hierarchy

lazy updates from deformation field only

various caching optimizations

handling of sharp features

Efficient algorithm for raytracing of deforming point-sampled surfaces

Related WorkRelated Work

Adamson & Alexa [SGP ‘03] ray-surface intersection algorithm

James & Pai [SIG ‘04] BD-tree dynamic update principle

Wald & Seidel [PBG ‘05] accelerated raytracing for static

point clouds

Talk OverviewTalk Overview

Part 1: Static Surfaces surface representation ray-surface intersection algorithm bounding sphere hierarchy extension: sharp edges & corners

Part 2: Deforming Surfaces physics framework surface deformation dynamic bounding sphere update caching optimizations

Talk OverviewTalk Overview

Part 1: Static Surfaces surface representation ray-surface intersection algorithm bounding sphere hierarchy extension: sharp edges & corners

Part 2: Deforming Surfaces physics framework surface deformation dynamic bounding sphere update caching optimizations

Surface RepresentationSurface Representation

Surface defined by elliptical splats position x tangent axes u and v

normal n from uxv (material properties)

Should be hole-free splats should overlap sufficiently but not too much!1

x

uv

Wu & Kobbelt: Optimized Sub-Sampling of Point Sets for Surface Splatting, EG 2004

1

Ray-Surface IntersectionRay-Surface Intersection

x1

Intersect ray with surfel ellipse: point x1

From x1 compute weighted average normal n weighted average position a

plane

Intersect plane: point x2

Repeat until convergence

x2

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Sharp Edges & CornersSharp Edges & Corners

Inherent smoothing in intersection algorithm average normal, position, …

Sometimes sharp edges & corners wanted

boolean operations fracture animation

Sharp Edges & CornersSharp Edges & Corners

One solution: detect sharp features1

But often: features known a priori (e.g. csg) define feature by surface-surface clipping relations S1 clips S2 and vice versa x rejected

Fleishman et al.: Robust Moving Least-squares Fitting with Sharp Features, SIG 2005

1

S2

S1

S2

S1

x

Sharp Edges & CornersSharp Edges & Corners

boolean operations fracture animation

Talk OverviewTalk Overview

Part 1: Static Surfaces surface representation ray-surface intersection algorithm bounding sphere hierarchy extension: sharp edges & corners

Part 2: Deforming Surfaces physics framework surface deformation dynamic bounding sphere update caching optimizations

Surface AnimationSurface Animation

Point-based approach for physically-based simulation1

point-based volume

(physics) point-based surface

(visualization)

Decoupling! low-res physics (~100) high-res surface (~100000)

surfels {si}

simulationnodes {pj}

Müller et al.: Point Based Animation of Elastic, Plastic and Melting Objects, SCA 2004

1

Surface AnimationSurface Animation

Simulation nodes define a displacement field u

x x+udisplacement field u

Surface AnimationSurface Animation

Deformation of surfels is computed from neighboring simulation nodes:

surfels {si}

simulationnodes {pj}

summation overneighboring nodes j

displacement vectorof node j

smooth normalizedweight function

gradient of displacement vector

Dynamic Sphere UpdateDynamic Sphere Update

Key Idea: sphere bounds surfels deformation of surfels is

defined by subset of simulation nodes

update sphere by looking at deformation of these nodes only

Recall:~100 nodes vs. ~100000 surfels!

Dynamic Sphere UpdateDynamic Sphere Update

Center update similar to surfel update

linear in the number of simulation nodes

Dynamic Sphere UpdateDynamic Sphere Update

Radius update radius defined by maximal distance between

deformed surfels and sphere center

find R’’ R’ (see paper for details)

can be pre-computed once

remain constant under deformation

linear in the number of simulation nodes

Dynamic Sphere UpdateDynamic Sphere Update

Radius update

Observations R’’ R even if object shrinks less nodes is better R’’ smaller if displacements smaller

rigidly transform sphere hierarchy before update to align as good as possible

Optimal Rigid TransformationOptimal Rigid Transformation

smallerdisplacements

rigid transform(rotation + translation)

Caching OptimizationsCaching Optimizations

Use static neighborhood information neighbors of each surfel computed once in undeformed reference system no need for k-NN queries

surfel neighbors

(for intersection algorithm)

simulation node neighbors

(for deformation)

Caching OptimizationsCaching Optimizations

Remember per-ray sphere node intersections test cached sphere node first in next frame good upper bound on t-value less sphere/surface intersection tests

frame n frame n+1

same

sphere

Algorithm SummaryAlgorithm Summary

For each ray: start from cached sphere node first next, descend hierarchy from root if node visited for first time:

update node’s center and radius if ray hits leaf node:

update surfel and its neighbors intersect ellipse perform iterative intersection algorithm trim if necessary

Elastic BallsElastic Balls

0.0

10.0

30.0

40.0

50.0

60.0

70.0

2 100 200 300

Tim

e (

sec)

Frame

15.0

21.5

45.0

No coherenceOur method (without caching)

Our method (with caching)

6k surfels, 88 simulation nodes (one ball, 40 balls total)

3.0x speedup

Cannon Ball ArmadilloCannon Ball Armadillo

0.0

5.0

10.0

15.0

20.0

25.0

2 100 200 300 400 500

Tim

e (

sec)

Frame

8.5

12.0

18.5

No coherenceOur method (without caching)

Our method (with caching)

170k surfels, 453 simulation nodes

2.1x speedup

Gymnastic GoblinGymnastic Goblin

0.0

2.0

4.0

6.0

8.0

10.0

12.0

14.0

16.0

2 100 200 300 400

Tim

e (

sec)

Frame

12.8

No coherenceOur method (without caching)

Our method (with caching)

100k surfels, 502 simulation nodes

2.1x speedup

Bouncing CSG HeadsBouncing CSG Heads

0.0

10.0

20.0

30.0

40.0

50.0

2 50 100 150 200

Tim

e (

sec)

Frame

26.2

42.8

No coherenceOur method (without caching)

Our method (with caching)

91k surfels, 253 simulation nodes (one head)

2.2x speedup

Discussion & Future WorkDiscussion & Future Work

There is a trade-off: fast lazy updates suboptimal spheres

speedup not guaranteed

Future work: dynamic update vs. (local) rebuild handle dynamic objects with changing topology

e.g. by fracturing

Thank you!Thank you!

Acknowledgementsreviewers

NSF grants CARGO-0138456, ITR-0205671

ARO grant DAAD19-03-1-033

NIH Simbios Center grant 1091129-1-PABAE

F.W.O.-Vlaanderen

Contact informationBart Adams barta@cs.kuleuven.ac.be

Richard Keiser keiser@inf.ethz.ch

Mark Pauly pauly@inf.ethz.ch

Leonidas J. Guibas guibas@cs.stanford.edu

Markus Gross grossm@inf.ethz.ch

Phil Dutré phil@cs.kuleuven.ac.be

Tighter Sphere FittingTighter Sphere Fitting

If parent and child spheres already updated

Tighter bound might be possible:

C1C2

C

top related