UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce...
-
Upload
estela-reveles -
Category
Documents
-
view
216 -
download
1
Transcript of UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce...
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Some techniques to Speed up Collision Detection
Yalmar Ponce Atencio
LCG/PESC/COPPE
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Problem
Given a large environment with moving objects,
Detect overlapping objectsOverlapping triangles in each pair
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Goal
Interactive collision detectionbetween complex objects
Large number of objectsHigh primitive count Non-convex objectsOpen and closed objectsDeformable objects•Changing topology
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Related Work
Collision detectionHardware accelerated techniquesObject space techniquesTwo phases
Broad phase – Compute object pairs in close proximity Narrow phase – Check each pair for exact collision detection
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Related WorkBroad phase
Spatial partitioningSweep-and-prune
Narrow phaseSpatial partitioningBounding volume hierarchies
Surveys [Klosowski 1998, Lin and Manocha 2003, Redon et al. 2002, Andrew Nealen et al. 2005]
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Limitations of Object-space Techniques
Considerable pre-processingHard to achieve real-time performance on complex deformable models
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Collision Detection using Graphics Hardware
Primitive rasterization – sorting in screen-space
Interference tests• NV_OCCLUSION_QUERY• Requires high screen resolution
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Image Space TechniquesUse 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]
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Limitations of Current Approaches
Closed modelsFrame buffer readbacks – slow
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning AlgorithmHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning TechniquesHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Overview
Potentially Colliding Set (PCS) computationExact collision tests on the PCS using a HashedOctree
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Technique
Object LevelPruning
Sub-objectLevel
PruningExact Tests
GPU based PCS computation
Using CPU
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Potentially Colliding Set (PCS)
PCS
Scene
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning TechniquesHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Pruning Techniques
Occlusion queriesBack-face culling
Convex modelsView volume culling
glSelectBuffer()
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
View volume culling
Using AABBs
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
A
B
Improvements
Using OBBsTransform B for A orientationUse OBBB as cliping planesPCSB
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning TechniquesHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
CreationHierarchical• 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)
Octree x HashedOctree
1
101
110100
111
11000
11100
10111
10100
11101
11110
10101
10110
11001
11010
1111
11011
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Search in Octree
p
Hierarchicalrecursive
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Search in HashedOctree
p
Direct accessUsing key node
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning TechniquesHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
HashedOctree
Morton keyGenerated recursivelyKey is computed using Interleaving• k(n) = xlylzlxl-1yl-1zl-1…x1y1z1
• l is the level of the octreeInterleaving is achieved by “OR”ing
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
B
A
Potentially Colliding Setx HashedOctree
Each object have a HashedOctree
PCSB = trgls_in(OBBA OBBB)
Exact test PCSB x HashedOctreeA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
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 }}
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Results
Tests on a Pentium M 2.0Ghz with ATI X600 128Mb PCIe and 1Gb RAM
Hierarchical Octree
Depth Level 10
Hashed Octree Depth Level
10
Search a Point
Cow 4315 Triangles 8626 Faces
9-11 us 4-4.5 us
Dragon 48581 Triangles 93286 Faces
14-19 us 4-4.9 us
Exact intersection Triangle-Triangle
Torus x Torus632 Triangles 1264 Faces
12-120 us 5-39 us
Cow x Torus 45-390 us 15-99 us
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Outline
OverviewPruning TechniquesHashedOctreeImplementation and ResultsConclusions and Future Work
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Conclusions and Future Work
ConclusionsEarlier 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 WorkGeometric models can be mapped efficiently on images (Geometry Images).Geometry images allow to generate Octrees and volume hierarchies in real-time on current GPUs.
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Thanks all folks!
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
1
101
110100
111
11000
11100
10111
10100
11101
11110
10101
10110
11001
11010
1111
11011