Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware.

Similar presentations


Presentation on theme: "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware."— Presentation transcript:

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


Download ppt "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware."

Similar presentations


Ads by Google