A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce Atencio LCG/PESC/COPPE.

Apresentações semelhantes


Apresentação em tema: "UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce Atencio LCG/PESC/COPPE."— Transcrição da apresentação:

1 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce Atencio LCG/PESC/COPPE

2 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Problem Given a large environment with moving objects, Detect overlapping objects Overlapping triangles in each pair

3 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Goal Interactive collision detection between complex objects Large number of objects High primitive count Non-convex objects Open and closed objects Deformable objects Changing topology

4 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 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 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 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 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Limitations of Object-space Techniques Considerable pre-processing Hard to achieve real-time performance on complex deformable models

7 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

8 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 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 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Limitations of Current Approaches Closed models Frame buffer readbacks – slow

10 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Algorithm HashedOctree Implementation and Results Conclusions and Future Work

11 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Techniques HashedOctree Implementation and Results Conclusions and Future Work

12 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Overview Potentially Colliding Set (PCS) computation Exact collision tests on the PCS using a HashedOctree

13 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Technique Object Level Pruning Sub-object Level Pruning Exact Tests GPU based PCS computation Using CPU

14 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Potentially Colliding Set (PCS) PCS Scene

15 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Techniques HashedOctree Implementation and Results Conclusions and Future Work

16 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Pruning Techniques Occlusion queries Back-face culling Convex models View volume culling glSelectBuffer()

17 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO View volume culling Using AABBs

18 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO A B Improvements Using OBBs Transform B for A orientation Use OBB B as cliping planes PCS B

19 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Techniques HashedOctree Implementation and Results Conclusions and Future Work

20 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 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 2 b ( b last bits) Octree x HashedOctree 1 101 110100 111 11000 11100 10111 10100 11101 11110 10101 10110 11001 11010 1111 11011

21 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Search in Octree p Hierarchical recursive

22 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Search in HashedOctree p Direct access Using key node

23 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Techniques HashedOctree Implementation and Results Conclusions and Future Work

24 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO HashedOctree Morton key Generated recursively Key is computed using Interleaving k (n) = x l y l z l x l-1 y l-1 z l-1 …x 1 y 1 z 1 l is the level of the octree Interleaving is achieved by “OR”ing

25 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO B A Potentially Colliding Set x HashedOctree Each object have a HashedOctree PCS B = trgls_in( OBB A  OBB B ) Exact test PCS B x HashedOctree A

26 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Algorithm CS A =  CS B =  foreach (t B in PCS B ){ PCS A =  foreach (p in t B ) PCS A  HashedOctree A.searchElems(p) if (PCS A   ) foreach (t A in PCS A ) if (t A  t B ){ CS A  t A CS B  t B }

27 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

28 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

29 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

30 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

31 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

32 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

33 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Results

34 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 Torus 632 Triangles 1264 Faces 12-120 us 5-39 us Cow x Torus 45-390 us 15-99 us

35 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Outline Overview Pruning Techniques HashedOctree Implementation and Results Conclusions and Future Work

36 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 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 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Thanks all folks!

38 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

39 1 101 110100 111 11000 11100 10111 10100 11101 11110 10101 10110 11001 11010 1111 11011


Carregar ppt "UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Some techniques to Speed up Collision Detection Yalmar Ponce Atencio LCG/PESC/COPPE."

Apresentações semelhantes


Anúncios Google