Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Efficient Raytracing of Deforming Point-Sampled Surfaces Mark Pauly Leonidas J. Guibas Bart Adams Philip Dutré Richard Keiser Markus Gross."— Presentation transcript:

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

2 Contributions  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

3 Related 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

4 Talk 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

5 Talk 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

6 Surface Representation Surface defined by elliptical splats  position x  tangent axes u and v  normal n from u x v  (material properties) Should be hole-free  splats should overlap sufficiently  but not too much! 1 x u v Wu & Kobbelt: Optimized Sub-Sampling of Point Sets for Surface Splatting, EG 2004 1

7 Ray-Surface Intersection x1x1 Intersect ray with surfel ellipse: point x 1 From x 1 compute  weighted average normal n  weighted average position a  plane Intersect plane: point x 2 Repeat until convergence x2x2

8 Bounding Sphere Hierarchy To speed up ray-surface intersection test Built top-down similar to QSplat

9 Bounding Sphere Hierarchy To speed up ray-surface intersection test Built top-down similar to QSplat

10 Bounding Sphere Hierarchy To speed up ray-surface intersection test Built top-down similar to QSplat

11 Bounding Sphere Hierarchy To speed up ray-surface intersection test Built top-down similar to QSplat

12 Use bounding sphere hierarchy to efficiently locate ellipse intersection Bounding Sphere Hierarchy

13 Use bounding sphere hierarchy to efficiently locate ellipse intersection Bounding Sphere Hierarchy

14 Use bounding sphere hierarchy to efficiently locate ellipse intersection Bounding Sphere Hierarchy

15 Use bounding sphere hierarchy to efficiently locate ellipse intersection Bounding Sphere Hierarchy

16 Use bounding sphere hierarchy to efficiently locate ellipse intersection Bounding Sphere Hierarchy

17 Sharp Edges & Corners Inherent smoothing in intersection algorithm  average normal, position, … Sometimes sharp edges & corners wanted boolean operations fracture animation

18 Sharp Edges & Corners One solution: detect sharp features 1 But often: features known a priori (e.g. csg)  define feature by surface-surface clipping relations  S 1 clips S 2 and vice versa  x rejected Fleishman et al.: Robust Moving Least-squares Fitting with Sharp Features, SIG 2005 1 S2S2 S1S1 S2S2 S1S1 x

19 Sharp Edges & Corners boolean operations fracture animation

20 Talk 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

21 Surface Animation Point-based approach for physically-based simulation 1  point-based volume (physics)  point-based surface (visualization) Decoupling!  low-res physics (~100)  high-res surface (~100000) surfels {s i } simulation nodes {p j } Müller et al.: Point Based Animation of Elastic, Plastic and Melting Objects, SCA 2004 1

22 Surface Animation Simulation nodes define a displacement field u x x+ux+u displacement field u

23 Surface Animation Deformation of surfels is computed from neighboring simulation nodes: surfels {s i } simulation nodes {p j } summation over neighboring nodes j displacement vector of node j smooth normalized weight function gradient of displacement vector

24 Dynamic 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!

25 Dynamic Sphere Update Center update  similar to surfel update  linear in the number of simulation nodes

26 Dynamic 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

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

28 Optimal Rigid Transformation smaller displacements rigid transform (rotation + translation)

29 Caching 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)

30 Caching 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 nframe n+1 same sphere

31 Algorithm 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

32 Elastic Balls 6k surfels, 88 simulation nodes (one ball, 40 balls total)  3.0x speedup

33 Cannon Ball Armadillo Time (sec) 170k surfels, 453 simulation nodes  2.1x speedup

34 Gymnastic Goblin 100k surfels, 502 simulation nodes  2.1x speedup

35 Bouncing CSG Heads 91k surfels, 253 simulation nodes (one head)  2.2x speedup

36 Discussion & 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

37 Thank you! Acknowledgements reviewers NSF grants CARGO-0138456, ITR-0205671 ARO grant DAAD19-03-1-033 NIH Simbios Center grant 1091129-1-PABAE F.W.O.-Vlaanderen Contact information Bart Adamsbarta@cs.kuleuven.ac.be Richard Keiserkeiser@inf.ethz.ch Mark Paulypauly@inf.ethz.ch Leonidas J. Guibasguibas@cs.stanford.edu Markus Grossgrossm@inf.ethz.ch Phil Dutréphil@cs.kuleuven.ac.be

38

39 Tighter Sphere Fitting If parent and child spheres already updated Tighter bound might be possible: C1C1 C2C2 C


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

Similar presentations


Ads by Google