Download presentation
Presentation is loading. Please wait.
Published byBrooklyn Rhode Modified over 10 years ago
1
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 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
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Problem Given a large environment with moving objects, Compute overlapping objects Overlapping triangles in each pair
3
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Goal Interactive collision detection between complex objects Large number of objects High primitive count Non-convex objects Open and closed objects
4
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Non-rigid Motion Deformable objects Changing topology
5
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Real-time Collision Detection using our Approach Complex breaking objects on a NVIDIA GeForce FX5800 Ultra GPU
6
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Related Work Collision detection Hardware accelerated techniques
7
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Related Work Object space techniques Two phases Broad phase – Compute object pairs in close proximity Narrow phase – Check each pair for exact collision detection
8
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Related Work Broad phase Spatial partitioning Sweep-and-prune Narrow phase Convex objects Spatial partitioning Bounding volume hierarchies Surveys in [ Klosowski 1998, Lin and Manocha 2003, Redon et al. 2002 ]
9
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Limitations of Object-space Techniques Considerable pre-processing Hard to achieve real-time performance on complex deformable models
10
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Collision Detection using Graphics Hardware Primitive rasterization – sorting in screen-space Interference tests
11
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 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] Minkowski sums [Kim et al. 2001] Cloth animation [Vassilev et al. 2001] Virtual Surgery [Lombardo et al. 1999] Proximity computation [Hoff et al. 2001, 2002]
12
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Limitations of Current Approaches Closed models Frame buffer readbacks – slow
13
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CPU, GPU and Bandwidth Growth on Consumer PCs
14
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CPU Growth Rate Courtesy: Anselmo Lastra
15
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CPU Growth Rate GPU Growth Rate Courtesy: Anselmo Lastra
16
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL GPU Growth Rate CPU Growth Rate AGP Bandwidth Growth Rate Courtesy: Anselmo Lastra
17
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Readback Timings NVIDIA GeForce 4 Dell Precision Workstation 1Kx1K depth buffer – 50ms
18
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Outline Overview Pruning Algorithm Implementation and Results Conclusions and Future Work
19
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Outline Overview Pruning Algorithm Implementation and Results Conclusions and Future Work
20
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overview Potentially Colliding Set (PCS) computation Exact collision tests on the PCS
21
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Algorithm Object Level Pruning Sub-object Level Pruning Exact Tests GPU based PCS computation Using CPU
22
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Potentially Colliding Set (PCS) PCS
23
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Potentially Colliding Set (PCS) PCS
24
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Outline Problem Overview Overview Pruning Algorithm Implementation and Results Conclusions and Future Work
25
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Algorithm Object Level Pruning Sub-object Level Pruning Exact Tests
26
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 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
27
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL set S Collision Detection using Visibility Computations Fully Visible Object O
28
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Pruning Lemma 2: Given n objects O 1,O 2,…,O n, an object O i does not belong to PCS if it does not collide with O 1,…,O i-1,O i+1,…,O n Prune objects that do not collide
29
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Pruning O 1 O 2 … O i-1 O i O i+1 … O n-1 O n
30
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Pruning O 1 O 2 … O i-1 O i
31
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Pruning O i O i+1 … O n-1 O n
32
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation Each object tested against all objects but itself Naive algorithm is O(n 2 ) Linear time algorithm Uses two pass rendering approach Conservative solution
33
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: First Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Render
34
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: First Pass Fully Visible? Render O1O1
35
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: First Pass Fully Visible? Render O 1 O 2 Yes. Does not collide with O 1
36
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL O 1 O 2 … O i-1 O i PCS Computation: First Pass Fully Visible? Render Yes. Does not collide with O 1,O 2,…,O i-1
37
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: First Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Render Fully Visible?
38
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: Second Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Render O n
39
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: Second Pass Render Fully Visible? O n
40
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: Second Pass Render Fully Visible? O n-1 O n Yes. Does not collide with O n
41
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: Second Pass Render Fully Visible? O i O i+1 … O n-1 O n Yes. Does not collide with O i+1,…,O n-1,O n
42
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation: Second Pass Render Fully Visible? O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Yes. Does not collide with O 1,…,O n-1,O n
43
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Fully Visible
44
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS Computation O 1 O 2 O 3 … O i-1 O i O i+1 … O n-2 O n-1 O n O 1 O 3 … O i-1 O i+1 … O n-1
45
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Example O1O1 O2O2 O3O3 O4O4 Scene with 4 objects O 1 and O 2 collide O 3, O 4 do not collide Initial PCS = { O 1,O 2,O 3, O 4 }
46
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL O3O3 O1O1 First Pass O2O2 Order of rendering: O 1 O 4 O3O3 Fully Visible O1O1 O4O4 O4O4 Not Fully Visible
47
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Second Pass O1O1 O3O3 O2O2 O2O2 Fully Visible Order of rendering: O 4 O 1 O4O4 O4O4 Fully Visible O3O3 Not Fully Visible
48
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL After two passes O1O1 O2O2 O3O3 O4O4 Fully Visible
49
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Potential Colliding Set O1O1 O2O2 PCS ={O 1,O 2 }
50
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Algorithm Object Level Pruning Sub-object Level Pruning Exact Tests
51
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization Each object is composed of sub- objects We are given n objects O 1,…,O n Compute sub-objects of an object O i that overlap with sub-objects of other objects
52
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization Our solution Test if each sub-object of O i overlaps with sub-objects of O 1,..O i-1 Test if each sub-object of O i overlaps with sub-objects of O i+1,...,O n Linear time algorithm Extend the two pass approach
53
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization O 1 O 2 … O i-1 O i O i+1 … O n-1 O n PCS Sub-objects
54
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Render sub-objects
55
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 O i Rendered sub-objects Render sub-objects
56
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 Fully Visible? Rendered sub-objects Render sub-objects
57
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 Fully Visible? Rendered sub-objects Render sub-objects
58
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass Rendered sub-objects O 1 O 2 … O i-1 Fully Visible? Yes. Does not collides with sub-objects of O 1,O 2,…,O i-1 Render sub-objects
59
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass Rendered sub-objects O 1 O 2 … O i-1 Fully Visible? Avoids self-collisions! Render sub-objects
60
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 O i Rendered sub-objects Render sub-objects
61
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: First Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Rendered sub-objects
62
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization: Second Pass O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Render sub-objects
63
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Overlap Localization O 1 O 2 … O i-1 O i O i+1 … O n-1 O n Sub-objects
64
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Potential Colliding Set O1O1 O2O2 PCS = {O 1,O 2 }
65
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL O1O1 Sub-objects O2O2 PCS = sub-objects of {O 1,O 2 }
66
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL First Pass Rendering order: Sub-objects of O 1 O 2
67
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible First Pass
68
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible First Pass
69
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible Not Fully Visible First Pass
70
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible First Pass
71
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible First Pass
72
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible First Pass
73
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Second Pass Rendering order: Sub-objects of O 2 O 1
74
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible Second Pass
75
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible Second Pass
76
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible Second Pass
77
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Not Fully Visible Fully Visible Second Pass
78
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible Second Pass
79
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fully Visible After two passes
80
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL PCS
81
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Algorithm Object Level Pruning Sub-object level Pruning Exact Tests Exact Overlap tests using CPU
82
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Visibility Queries We require a query Tests if a primitive is fully visible or not Current hardware supports occlusion queries Test if a primitive is visible or not Our solution Change the sign of depth function
83
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Visibility Queries Depth function GEQUALLESS All fragments Pass FailPass Fail PassFailPassFail Query not supported Occlusion query Examples - HP_Occlusion_test, NV_occlusion_query
84
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Bandwidth Analysis Read back only integer identifiers Independent of screen resolution
85
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Optimizations First use AABBs as object bounding volume Use orthographic views for pruning Prune using original objects
86
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Outline Overview Pruning Algorithm Implementation and Results Conclusions and Future Work
87
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Implementation Dell Precision workstation Dell M50 Laptop
88
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Test Models: Environment 1 100 deforming cylinders Total – 20K triangles
89
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Test Models: Environment 2 Deforming torii Each torus – 20K triangles
90
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Test Model: Environment 3 250K Dragon 35K Bunny
91
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Test Model: Environment 4 Breaking dragon – 250K triangles Bunny – 35K triangles
92
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Implementation Dell Precision workstation, 2.4GHz Pentium IV CPU, NVIDIA GeForce FX 5800 Ultra GPU, 2GB memory running Windows 2000
93
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Performance Number of objects v/s collision time (in ms)
94
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Performance Number of polygons v/s collision time (in ms)
95
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Performance Screen resolution v/s collision time (in ms)
96
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Advantages No coherence No assumptions on motion of objects Works on generic models A fast pruning algorithm No frame-buffer readbacks
97
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Limitations No distance or penetration depth information Resolution issues No self-collisions Culling performance varies with relative configurations
98
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Live Demo of Environment 4 Dell M50 laptop, 2.4GHz Pentium IV-M CPU, NVIDIA Quadro4 700GoGL GPU, 1GB memory running Windows XP
99
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Live Demo of Environment 1 Avg. frames per second = 300
100
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Conclusions Novel algorithm for collision detection using graphics hardware Applicable to polygon soups No assumptions on motion Linear time PCS computation algorithm No frame buffer readbacks
101
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Conclusions First practical solution for general deformable models and breaking objects
102
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Future Work Handle self-collisions Apply to more interactive applications Distance and penetration depth computation
103
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Acknowledgements Army Research Office National Science Foundation Office of Naval Research Intel Corporation NVIDIA Corporation Stanford Graphics Laboratory UNC GAMMA Group
104
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Questions? More info: http://gamma.cs.unc.edu/CULLIDE E-mail: naga@cs.unc.edu http://gamma.cs.unc.edu/CULLIDEnaga@cs.unc.edu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.