1 / 82

Naga K. Govindaraju, Stephane Redon, Ming C. Lin, Dinesh Manocha

Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware. Naga K. Govindaraju, Stephane Redon, Ming C. Lin, Dinesh Manocha University of North Carolina at Chapel Hill. Collision Handling.

manon
Télécharger la présentation

Naga K. Govindaraju, Stephane Redon, Ming C. Lin, Dinesh Manocha

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. Adapted from:CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane Redon, Ming C. Lin, Dinesh Manocha University of North Carolina at Chapel Hill

  2. Collision Handling • Contact and collision between objects and between interactive tools with objects • Non-trivial to simulate collision, main problems are • Automatically report when collision happens • After collision detection, objects response in a natural way

  3. Collision Handling • A wide range of techniques are used in collision detection on geometric models • Hierarchical trees formed with bounding boxes or spheres for efficient detect in different levels • Penetration depth should be reported to the handling process • The research issue for computational geometry and algorithms

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

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

  6. Non-rigid Motion • Deformable objects • Changing topology

  7. Real-time Collision Detection using our Approach Complex breaking objects on a NVIDIA GeForce FX5800 Ultra GPU

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

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

  10. Collision Detection using Graphics Hardware • Primitive rasterization – sorting in screen-space • Interference tests

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

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

  13. Overview • Potentially Colliding Set (PCS) computation • Exact collision tests on the PCS

  14. GPU based PCS computation Using CPU Algorithm Object LevelPruning Sub-objectLevelPruning Exact Tests

  15. PCS Potentially Colliding Set (PCS)

  16. Potentially Colliding Set (PCS) PCS

  17. Outline • Problem Overview • Overview • Pruning Algorithm • Implementation and Results • Conclusions and Future Work

  18. Algorithm Object LevelPruning Sub-object LevelPruning Exact Tests

  19. Visibility Computations Lemma 1: An object O does not collide with a set of objects S if O is fully visible with respect to S • Utilize visibility for PCS computation

  20. set S Object O Fully Visible Collision Detection using Visibility Computations

  21. PCS Pruning Lemma 2: Given n objectsO1,O2,…,On , an object Oi does notbelong to PCS if it does notcollide with O1,…,Oi-1,Oi+1,…,On • Prune objects that do not collide

  22. PCS Pruning O1 O2 … Oi-1 Oi Oi+1 … On-1 On O1 O2 … Oi-1OiOi+1 … On-1 On O1 O2 … Oi-1 Oi Oi+1 … On-1 On

  23. PCS Pruning O1 O2 … Oi-1 Oi

  24. PCS Pruning Oi Oi+1 … On-1 On

  25. PCS Computation • Each object tested against all objects but itself • Naive algorithm is O(n2) • Linear time algorithm • Uses two pass rendering approach

  26. Render PCS Computation: First Pass O1 O2 … Oi-1 Oi Oi+1 … On-1 On

  27. Render Fully Visible? PCS Computation: First Pass O1

  28. Render Yes. Does not collide withO1,O2,…,Oi-1 Fully Visible? PCS Computation: First Pass O1 O2 … Oi-1 Oi

  29. Render Fully Visible? PCS Computation: First Pass O1 O2 … Oi-1 Oi Oi+1 … On-1 On

  30. Render PCS Computation: Second Pass O1 O2 … Oi-1 Oi Oi+1 … On-1 On On

  31. Render Fully Visible? PCS Computation: Second Pass On

  32. Render Yes. Does not collide with Oi+1,…,On-1,On Fully Visible? PCS Computation: Second Pass Oi Oi+1 … On-1 On

  33. Render Yes. Does not collide with O1,…,On-1,On PCS Computation: Second Pass O1 O2 … Oi-1 Oi Oi+1 … On-1 On Fully Visible?

  34. Fully Visible Fully Visible PCS Computation O1 O2 … Oi-1 Oi Oi+1 … On-1 On

  35. O1 O2 O3 … Oi-1 Oi Oi+1 … On-2 On-1 On PCS Computation O1 O3 … Oi-1 Oi+1 … On-1

  36. Example O1 O2 O3 O4 Scene with 4 objectsO1and O2 collideO3, O4 do not collide Initial PCS = { O1,O2,O3,O4 }

  37. First Pass Fully Visible Fully Visible Not Fully Visible O1 O3 Fully Visible O4 O1 O2 O3 O4 Order of rendering: O1 O4

  38. Fully Visible Fully Visible Not Fully Visible O2 O3 Fully Visible O4 Second Pass O1 O2 O3 O4 Order of rendering: O4 O1

  39. Fully Visible Fully Visible After two passes O1 O2 O3 O4

  40. Potential Colliding Set O1 O2 PCS ={O1,O2}

  41. Algorithm Object LevelPruning Sub-object LevelPruning Exact Tests

  42. Overlap Localization • Each object is composed of sub-objects • We are given n objects O1,…,On • Compute sub-objects of an object Oi that overlap with sub-objects of other objects

  43. Overlap Localization • Our solution • Test if each sub-object of Oi overlaps with sub-objects of O1,..Oi-1 • Test if each sub-object of Oi overlaps with sub-objects of Oi+1,...,On • Linear time algorithm • Extend the two pass approach

  44. Potential Colliding Set O1 O2 PCS = {O1,O2}

  45. Sub-objects O1 O2 PCS = sub-objects of {O1,O2}

  46. First Pass Rendering order: Sub-objects of O1 O2

  47. Fully Visible First Pass

  48. Fully Visible First Pass

  49. Fully Visible Fully Visible Not Fully Visible First Pass

  50. Fully Visible Fully Visible Fully Visible First Pass

More Related