Page 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
Page 2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Problem
Given a large environment with moving objects,
Compute overlapping objectsOverlapping triangles in each pair
Page 3
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Goal
Interactive collision detectionbetween complex objects
Large number of objectsHigh primitive countNon-convex objectsOpen and closed objects
Page 4
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Non-rigid Motion
Deformable objectsChanging topology
Page 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
Page 6
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Related Work
Collision detectionHardware accelerated techniques
Page 7
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Related Work
Object space techniquesTwo phases
Broad phase – Compute object pairs in close proximity Narrow phase – Check each pair for exact collision detection
Page 8
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Related Work
Broad phaseSpatial partitioningSweep-and-prune
Narrow phaseConvex objectsSpatial partitioningBounding volume hierarchies
Surveys in [Klosowski 1998, Lin and Manocha 2003, Redon et al. 2002]
Page 9
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Limitations of Object-space Techniques
Considerable pre-processingHard to achieve real-time performance on complex deformable models
Page 10
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Collision Detection using Graphics Hardware
Primitive rasterization – sorting in screen-space
Interference tests
Page 11
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Image Space Techniques
Use of graphics hardwareCSG 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]
Page 12
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Limitations of Current Approaches
Closed modelsFrame buffer readbacks – slow
Page 13
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
CPU, GPU and Bandwidth Growth on Consumer PCs
Page 14
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
CPU Growth Rate
Courtesy: Anselmo Lastra
Page 15
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
CPU Growth Rate
GPU Growth Rate
Courtesy: Anselmo Lastra
Page 16
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
GPU Growth Rate
CPU Growth Rate
AGP Bandwidth Growth Rate
Courtesy: Anselmo Lastra
Page 17
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Readback Timings
NVIDIA GeForce 4Dell Precision Workstation1Kx1K depth buffer – 50ms
Page 18
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Outline
OverviewPruning AlgorithmImplementation and ResultsConclusions and Future Work
Page 19
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Outline
OverviewPruning AlgorithmImplementation and ResultsConclusions and Future Work
Page 20
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Overview
Potentially Colliding Set (PCS) computationExact collision tests on the PCS
Page 21
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Algorithm
Object LevelPruning
Sub-objectLevel
PruningExact Tests
GPU based PCS computation
Using CPU
Page 22
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Potentially Colliding Set (PCS)
PCS
Page 23
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Potentially Colliding Set (PCS)
PCS
Page 24
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Outline
Problem OverviewOverviewPruning AlgorithmImplementation and ResultsConclusions and Future Work
Page 25
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Algorithm
Object LevelPruning
Sub-object Level
PruningExact Tests
Page 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
Page 27
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
set S
Collision Detection using Visibility Computations
Fully VisibleObject O
Page 28
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
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
Page 29
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Pruning
O1 O2 … Oi-1 Oi Oi+1 … On-1 OnO1 O2 … Oi-1 Oi Oi+1 … On-1 OnO1 O2 … Oi-1 Oi Oi+1 … On-1 On
Page 30
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Pruning
O1 O2 … Oi-1 Oi
Page 31
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Pruning
Oi Oi+1 … On-1 On
Page 32
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation
Each object tested against all objects but itselfNaive algorithm is O(n2)Linear time algorithm
Uses two pass rendering approachConservative solution
Page 33
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: First Pass
O1 O2 … Oi-1 Oi Oi+1 … On-1 On
Render
Page 34
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: First Pass
Fully Visible?
Render
O1
Page 35
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
O1 O2 … Oi-1 Oi
PCS Computation: First Pass
Fully Visible?
Render Yes. Does not collide withO1,O2,…,Oi-1
Page 36
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: First Pass
O1 O2 … Oi-1 Oi Oi+1 … On-1 On
Render
Fully Visible?
Page 37
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: Second Pass
O1 O2 … Oi-1 Oi Oi+1 … On-1 On
Render
On
Page 38
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: Second Pass
Render
Fully Visible?
On
Page 39
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: Second Pass
Render
Fully Visible?
Oi Oi+1 … On-1 On
Yes. Does not collide with Oi+1,…,On-1,On
Page 40
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation: Second Pass
Render
Fully Visible?
O1 O2 … Oi-1 Oi Oi+1 … On-1 On
Yes. Does not collide with O1,…,On-1,On
Page 41
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation
O1 O2 … Oi-1 Oi Oi+1 … On-1 On
Fully VisibleFully Visible
Page 42
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS Computation
O1 O2 O3 … Oi-1 Oi Oi+1 … On-2 On-1 On
O1 O3 … Oi-1 Oi+1 … On-1
Page 43
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
ExampleO1
O2
O3
O4Scene with 4 objectsO1and O2 collideO3, O4 do not collide
Initial PCS = { O1,O2,O3,O4 }
Page 44
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
O3
O1
First Pass
O2
Order of rendering: O1 O4
O3
Fully Visible
O1
Fully Visible
O4O4
Fully Visible
Not Fully Visible
Page 45
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Second Pass
O1
O3
O2O2
Fully Visible
Order of rendering: O4 O1
O4O4
Fully Visible
O3
Fully Visible
Not Fully Visible
Page 46
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
After two passesO1
O2
O3
O4
Fully Visible
Fully Visible
Page 47
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Potential Colliding SetO1
O2
PCS ={O1,O2}
Page 48
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Algorithm
Object LevelPruning
Sub-object Level
PruningExact Tests
Page 49
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Overlap Localization
Each object is composed of sub-objectsWe are given n objects O1,…,On
Compute sub-objects of an object Oi that overlap with sub-objects of other objects
Page 50
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Overlap Localization
Our solutionTest 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 algorithmExtend the two pass approach
Page 51
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Potential Colliding SetO1
O2
PCS = {O1,O2}
Page 52
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
O1
Sub-objects
O2
PCS = sub-objects of {O1,O2}
Page 53
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
First Pass
Rendering order: Sub-objects of O1 O2
Page 54
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully VisibleFirst Pass
Page 55
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible First Pass
Page 56
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Not Fully Visible
First Pass
Page 57
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Fully Visible
First Pass
Page 58
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Fully Visible
First Pass
Page 59
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Fully Visible
Fully Visible
First Pass
Page 60
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Second Pass
Rendering order: Sub-objects of O2 O1
Page 61
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Second Pass
Page 62
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Second Pass
Page 63
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully VisibleSecond Pass
Page 64
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Not Fully Visible
Fully Visible
Fully Visible
Fully Visible
Second Pass
Page 65
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Fully Visible
Fully VisibleSecond Pass
Page 66
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Fully Visible
Fully Visible
Fully Visible
After two passes
Page 67
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
PCS
Page 68
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Algorithm
Object LevelPruning
Sub-objectlevel
PruningExact Tests
Exact Overlap tests using CPU
Page 69
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Visibility Queries
We require a queryTests if a primitive is fully visible or not
Current hardware supports occlusion queries
Test if a primitive is visible or not
Our solutionChange the sign of depth function
Page 70
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Visibility Queries
Depth function
GEQUAL LESSAll fragments Pass FailPass
Fail
Fail
PassFail PassFail
Query not supported
Occlusion query
Examples - HP_Occlusion_test, NV_occlusion_query
Page 71
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Bandwidth Analysis
Read back only integer identifiers
Independent of screen resolution
Page 72
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Optimizations
First use AABBs as object bounding volumeUse orthographic views for pruningPrune using original objects
Page 73
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Outline
OverviewPruning AlgorithmImplementation and ResultsConclusions and Future Work
Page 74
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Implementation
Dell Precision workstationDell M50 Laptop
Page 75
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Test Models: Environment 1
100 deforming cylindersTotal – 20K triangles
Page 76
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Test Models: Environment 2
Deforming toriiEach torus – 20K triangles
Page 77
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Test Model: Environment 3
250K Dragon35K Bunny
Page 78
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Test Model: Environment 4
Breaking dragon – 250K trianglesBunny – 35K triangles
Page 79
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
Page 80
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Performance
Number of objects v/s collision time
(in m
s)
Page 81
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Performance
Number of polygons v/s collision time
(in m
s)
Page 82
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Performance
Screen resolution v/s collision time
(in m
s)
Page 83
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Advantages
No coherenceNo assumptions on motion of objectsWorks on generic modelsA fast pruning algorithmNo frame-buffer readbacks
Page 84
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Limitations
No distance or penetration depth informationResolution issuesNo self-collisionsCulling performance varies with relative configurations
Page 85
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
Page 86
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Live Demo of Environment 1
Avg. frames per second = 300
Page 87
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Conclusions
Novel algorithm for collision detection using graphics hardware
Applicable to polygon soupsNo assumptions on motion
Linear time PCS computation algorithmNo frame buffer readbacks
Page 88
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Conclusions
First practical solution for general deformable models and breaking objects
Page 89
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Future Work
Handle self-collisionsApply to more interactive applicationsDistance and penetration depth computation
Page 90
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Acknowledgements
Army Research OfficeNational Science FoundationOffice of Naval ResearchIntel CorporationNVIDIA CorporationStanford Graphics LaboratoryUNC GAMMA Group
Page 91
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Questions?
More info: http://gamma.cs.unc.edu/CULLIDE
E-mail: [email protected]