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

39
Efficient Raytracing of Efficient Raytracing of Deforming Point-Sampled Deforming Point-Sampled Surfaces Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Upload: elvin-cummings

Post on 14-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Mark PaulyLeonidas J. Guibas

Bart AdamsPhilip Dutré

Richard KeiserMarkus Gross

Page 2: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus 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

Page 3: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 4: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 5: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 6: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 7: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 8: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Page 9: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Page 10: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Page 11: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Bounding Sphere HierarchyBounding Sphere Hierarchy

To speed up ray-surface intersection test

Built top-down similar to QSplat

Page 12: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Page 13: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Page 14: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Page 15: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Page 16: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Use bounding sphere hierarchy to efficiently locate ellipse intersection

Bounding Sphere HierarchyBounding Sphere Hierarchy

Page 17: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Sharp Edges & CornersSharp Edges & Corners

Inherent smoothing in intersection algorithm average normal, position, …

Sometimes sharp edges & corners wanted

boolean operations fracture animation

Page 18: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 19: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Sharp Edges & CornersSharp Edges & Corners

boolean operations fracture animation

Page 20: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 21: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 22: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Surface AnimationSurface Animation

Simulation nodes define a displacement field u

x x+udisplacement field u

Page 23: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 24: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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!

Page 25: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Dynamic Sphere UpdateDynamic Sphere Update

Center update similar to surfel update

linear in the number of simulation nodes

Page 26: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 27: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 28: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Optimal Rigid TransformationOptimal Rigid Transformation

smallerdisplacements

rigid transform(rotation + translation)

Page 29: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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)

Page 30: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 31: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 32: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 33: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 34: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 35: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 36: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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

Page 37: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

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 [email protected]

Richard Keiser [email protected]

Mark Pauly [email protected]

Leonidas J. Guibas [email protected]

Markus Gross [email protected]

Phil Dutré [email protected]

Page 38: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross
Page 39: Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross

Tighter Sphere FittingTighter Sphere Fitting

If parent and child spheres already updated

Tighter bound might be possible:

C1C2

C