400 likes | 605 Views
Collision Detection for Deformable Objects. Xin Huang huangxin@cs.unc.edu 16/10/2007. Application. Overview. Deformable models deforming over time, cutting, breaking ….. expensive to update the collision query structure such as BVH as model deforming. Overview. Self- collision
E N D
Collision Detection for Deformable Objects Xin Huang huangxin@cs.unc.edu 16/10/2007
Overview • Deformable models • deforming over time, cutting, breaking ….. • expensive to update the collision query structure such as BVH as model deforming
Overview • Self- collision • many adjacent or close primitives overlap • result in a high numberof false positives • very challenging
Outline • [Larsson 01] Collision detection for continuously deforming bodies • [Zhang 2007] Interactive Collision Detection for Deformable Models • [Govindaraju 03] CULLIDE: Interactive Collision Detection between Complex Models in Large Environments using Graphics Hardware • [Govindaraju 05] Interactive Collision Detection between Deformable Models using Chromatic Decomposition
[Larsson 01] • Collision Detection for Continuously Deforming Bodies[Larsson 01] • hybrid update: an incremental bottom-up and a selective top-down update
[Larsson 01] • Broad phase: sort and prune • Narrow phase: update, AABBs test, primitive test
[Larsson 01] • Bounding volume pre-processing • Built 8-ary AABB tree in top-down manner • A parent AABB is split along three principle axis to form 8 child sub-volumes • Split planes: center point of the box or average of all polygon’s midpoints
[Larsson 01] • Run-time AABB Updates • Top-down: traversing the faces under the node; benefit if a few deep nodes • Bottom-up: Directly from AABBs of sub-node; benefit if many deep nodes • Trade-off
[Larsson 01] • Hybrid update • For a tree with depth n, initially update the n / 2 first levels bottom-up • Non-updated nodes are updated top-down on the fly during collision traversal
[Larsson 01] • reporting all intersecting triangle pairs (b) first arbitrary intersecting triangle pair
[Larsson 01] • Conclusion • Fast to update during deformation • Not consider Self-collision
[Zhang 2007] • Interactive Collision Detection forDeformable Models using Streaming AABBs---[Zhang 2007] • Bound deformable objectsas input streams • Use GPU to perform parallel pairwise overlap test • Compute in object space • Previous GPU based method • Depend on image resolution and view direction
[Zhang 2007] AABB tree building & texture preparation
[Zhang 2007] • Streaming AABB Overlap Tests
[Zhang 2007] • Hierarchical Readback
[Zhang 2007] • Primitive Intersection Test: on CPU • Stream Update: on GPU
[Zhang 2007] • Examples
[Zhang 2007] • Excluding texture download from CPU to GPU, 2-10 times faster • Including texture download, 1.4-2 times faster
[Zhang 2007] • Conclusion • StreamingAABB overlap tests and stream update usingSIMD computations • Stream reduction readback • Collision detection in Object space
[Zhang 2007] • Limitation • Pre-setup time to prepare AABBstreams and map to textures in GPU’s memory • Need more texture memory • Not report self-intersections
CULLIDE---[Govindaraju 03] • CULLIDE: Interactive Collision Detection Between ComplexModels in Large Environments using Graphics Hardware • Compute potentially colliding set (PCS) • Visibility query by graphics hardware
CULLIDE---[Govindaraju 03] • An object O does not collide with a set of objects S if O is fully-visible with respect to S. • Compute PCS by two pass • 1st pass, render the objects in the order O1, ..,On • 2nd pass, render the objects in thereverse order On,On−1, ...O1 • test if an object is fully visible or not, if not, in PCS
CULLIDE---[Govindaraju 03] • Object level pruning • perform object level pruning by computing the PCS of objects. • Sub-Object Pruning • identify potential regions of each object in PCS • Exact Collision Detection • Triangle-triangleintersection on the CPU
CULLIDE---[Govindaraju 03] • Limitation • No distance and penetration information • Image-space resolution • Cannot handle self-collision
Self-collision • Challenge • Non-interactive rates • Many adjacent or nearby primitives in close proximity • A high number of false positives
[Govindaraju 05] • Interactive Collision Detection between Deformable Modelsusing Chromatic Decomposition • Chromatic Mesh Decomposition • Set-based Self-Collision Detection
[Govindaraju 05] • Non-Adjacent Collision Detection (NACD): AABB and 2.5D overlap test • Adjacent Collision Detection (ACD): exact VF and EE elementary tests
[Govindaraju 05] • Chromatic Mesh Decomposition • Independent Sets • Graph Coloring • Construct an extended-dual graph G = (V, E) • Each primitive pi correspond to a vertex V(pi) in V • Add an edge (V(pl), V(pm)) to E if and only if • pl and pm are vertex-adjacent • There exists a primitive p in the mesh that both (pl, p) and (p, pm) are adjacent
[Govindaraju 05] • AABB Hierarchy Culling • Test the Hierarchy against itself • Compute non-adjacent primitive colliding • 2.5D Overlap Tests • Extend CULLIDE
[Govindaraju 05] • 2.5D Overlap Tests • First pass: Traverse the primitives in Si from the last to the first. Test if pim is fully-visible against previously rendered primitives in Sj, i.e. S j>m • Second pass: Traverse the primitives in Si from the firstto the last. Only test the primitive pimwhich was fully visible in the first pass forpotentialoverlap with the PCSSj, i.e. Sj<m
[Govindaraju 05] • Exact Tests: Non-Adjacent Primitives • Merge the PCS of all independent sets • Use AABB hierarchy to compute intersecting pairs • Perform EE and VF tests between pairs • Exact Tests: Adjacent Primitives • Check all adjacent primitives for intersection • Do not test the shared edge or vertex
[Govindaraju 05] • Limitation • Mesh with fixed connectivity • Work well with a small number of overlapping pairs • Chromatic decomposition may produce a high number of independent sets
Conclusion • No general or optimal method existed • Approaches based on BVH have shown to be efficient • Image-space techniques can achieve highly culling rate, however, is limited by discretization accuracy • Self-collision still remains challenging
Some other approaches • Distance Fields • Spatial Subdivision • Stochastic Methods (Refer to [Teschner 2005], a State of the Art review)
References • Survey: LIN M., MANOCHA D.: Collision and proximity queries. In Handbook of Discrete and Computational Geometry, 2003 • Collision detection for deformable objects. Teschner, M., Kimmerle, S., Heidelberger, B., Zachmann, G., Raghupathi, L., Fuhrmann, A., Cani, M.-P., Faure, F., Magnenat-Thalmann, N., Strasser, W., and Volino, P. 2005. Computer Graphics Forum • Larsson T., Akenine-Möller T. 2001. Collision detection for continuously deforming bodies. In Eurographics, pp. 325–333. short presentation. • Interactive Collision Detection for Deformable Models Using Streaming AABBs, Xinyu Zhang, Young J. Kim, IEEE Trans Visualization & Computer Graphics, 2007 • Govindaraju, N., Redon, S., Lin, M. C., and Manocha, D. 2003. CULLIDE: Interactive Collision Detection between Complex Models in Large Environments using Graphics Hardware. Proc. of Eurographics/SIGGRAPH Workshop on Graphics Hardware • Interactive Collision Detection between Deformable Models using Chromatic Decomposition, Naga K. Govindaraju, David Knott, Nitin Jain, Ilknur Kabul, Rasmus Tamstorf, Russel Gayle, Ming C. Lin, Dinesh Manocha in ACM SIGGRAPH 2005