Download presentation
Presentation is loading. Please wait.
Published byElvin Cummings Modified over 9 years ago
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
39
Tighter Sphere Fitting If parent and child spheres already updated Tighter bound might be possible: C1C1 C2C2 C
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.