1 / 39

Some techniques to Speed up Collision Detection

Some techniques to Speed up Collision Detection. Yalmar Ponce Atencio LCG/PESC/COPPE. Problem. Given a large environment with moving objects, Detect overlapping objects Overlapping triangles in each pair. Goal. Interactive collision detection between complex objects

pillan
Télécharger la présentation

Some techniques to Speed up Collision Detection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Some techniques to Speed up Collision Detection Yalmar Ponce Atencio LCG/PESC/COPPE

  2. Problem • Given a large environment with moving objects, • Detect overlapping objects • Overlapping triangles in each pair

  3. Goal Interactive collision detectionbetween complex objects • Large number of objects • High primitive count • Non-convex objects • Open and closed objects • Deformable objects • Changing topology

  4. Related Work • Collision detection • Hardware accelerated techniques • Object space techniques • Two phases • Broad phase – Compute object pairs in close proximity • Narrow phase – Check each pair for exact collision detection

  5. Related Work • Broad phase • Spatial partitioning • Sweep-and-prune • Narrow phase • Spatial partitioning • Bounding volume hierarchies Surveys [Klosowski 1998, Lin and Manocha 2003, Redon et al. 2002, Andrew Nealen et al. 2005]

  6. Limitations of Object-space Techniques • Considerable pre-processing • Hard to achieve real-time performance on complex deformable models

  7. Collision Detection using Graphics Hardware • Primitive rasterization – sorting in screen-space • Interference tests • NV_OCCLUSION_QUERY • Requires high screen resolution

  8. Image Space Techniques Use of graphics hardware • CSG rendering [Goldfeather et al. 1989, Rossignac et al. 1990] • Interferences and cross-sections [Baciu et al. 1998, Myszkowski 1995, Rossignac et al. 1992, Shinya and Forgue 1991] • Virtual Surgery [Lombardo et al. 1999] • Minkowski sums [Kim et al. 2001] • Cloth animation [Vassilev et al. 2001] • Proximity computation [Hoff et al. 2001, 2002] • CULLIDE, R-CULLIDE, Q-CULLIDE[Govindaraju et al. 2003-2005]

  9. Limitations of Current Approaches • Closed models • Frame buffer readbacks – slow

  10. Outline • Overview • Pruning Algorithm • HashedOctree • Implementation and Results • Conclusions and Future Work

  11. Outline • Overview • Pruning Techniques • HashedOctree • Implementation and Results • Conclusions and Future Work

  12. Overview • Potentially Colliding Set (PCS) computation • Exact collision tests on the PCS using a HashedOctree

  13. GPU based PCS computation Using CPU Technique Object LevelPruning Sub-objectLevelPruning Exact Tests

  14. Potentially Colliding Set (PCS) Scene PCS

  15. Outline • Overview • Pruning Techniques • HashedOctree • Implementation and Results • Conclusions and Future Work

  16. Pruning Techniques • Occlusion queries • Back-face culling • Convex models • View volume culling • glSelectBuffer()

  17. View volume culling • Using AABBs

  18. B A Improvements • Using OBBs • Transform B for A orientation • Use OBBB as cliping planes • PCSB

  19. Outline • Overview • Pruning Techniques • HashedOctree • Implementation and Results • Conclusions and Future Work

  20. 101 10101 10111 111 11101 1111 10100 10110 11100 11110 100 11001 110 11011 11000 11010 Octree x HashedOctree • Creation • Hierarchical • Recursively • Hash [N.A.Gumerov et al. 2003] • From hierarchical Octree or Using a generated Key • Key is generated from parent nodes • Hash table uses k mod 2b (b last bits) 1

  21. Search in Octree • Hierarchical • recursive p

  22. Search in HashedOctree • Direct access • Using key node p

  23. Outline • Overview • Pruning Techniques • HashedOctree • Implementation and Results • Conclusions and Future Work

  24. HashedOctree • Morton key • Generated recursively • Key is computed using Interleaving • k(n) = xlylzlxl-1yl-1zl-1…x1y1z1 • lis the level of the octree • Interleaving is achieved by “OR”ing

  25. Potentially Colliding Setx HashedOctree • Each object have a HashedOctree • PCSB = trgls_in(OBBA OBBB) • Exact test • PCSB x HashedOctreeA B A

  26. Algorithm CSA =  CSB =  foreach (tB in PCSB){ PCSA =  foreach (p in tB) PCSA HashedOctreeA.searchElems(p) if (PCSA ) foreach (tA in PCSA) if (tAtB){ CSA tA CSB tB } }

  27. Results

  28. Results

  29. Results

  30. Results

  31. Results

  32. Results

  33. Results

  34. Results

  35. Outline • Overview • Pruning Techniques • HashedOctree • Implementation and Results • Conclusions and Future Work

  36. Conclusions and Future Work • Conclusions • Earlier image based collision detection approaches present some limitations (Screen Resolution). • Object level Pruning and Sub-object pruning are required. • Hashed Octree reduces a query up to 80% over hierarchical Octree. • Future Work • Geometric models can be mapped efficiently on images (Geometry Images). • Geometry images allow to generate Octrees and volume hierarchies in real-time on current GPUs.

  37. Thanks all folks!

  38. 101 10101 10111 111 11101 1111 10100 10110 11100 11110 100 110 11001 11011 11000 11010 1

More Related