ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +3 -0
  3. data/Rakefile +14 -2
  4. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
  5. data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
  6. data/bindings/bullet/interface/bullet_wrap.h +7 -7
  7. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  8. data/lib/bullet.so +0 -0
  9. data/lib/ruby-bullet/version.rb +1 -1
  10. data/ruby-bullet.gemspec +0 -3
  11. metadata +169 -444
  12. data/deps/include/bullet/Bullet-C-Api.h +0 -176
  13. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
  14. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
  15. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
  16. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
  17. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
  18. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
  19. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
  20. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
  21. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
  22. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
  23. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
  24. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
  25. data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
  26. data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
  27. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
  28. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
  29. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
  30. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
  31. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
  32. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
  33. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
  34. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
  35. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
  36. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
  37. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
  38. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
  39. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
  40. data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
  41. data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
  42. data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
  43. data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
  44. data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
  45. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
  46. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
  47. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
  48. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
  49. data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
  50. data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
  51. data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
  52. data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
  53. data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
  54. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
  55. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
  56. data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
  57. data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
  58. data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
  59. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
  60. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
  61. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
  62. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
  63. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
  64. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
  65. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
  66. data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
  67. data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
  68. data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
  69. data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
  70. data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
  71. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
  72. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
  73. data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
  74. data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
  75. data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
  76. data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
  77. data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
  78. data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
  79. data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
  80. data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
  81. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
  82. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
  83. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
  84. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
  85. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
  86. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
  87. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
  88. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
  89. data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
  90. data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
  91. data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
  92. data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
  93. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
  94. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
  95. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
  96. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
  97. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
  98. data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
  99. data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
  100. data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
  101. data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
  102. data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
  103. data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
  104. data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
  105. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
  106. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
  107. data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
  108. data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
  109. data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
  110. data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
  111. data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
  112. data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
  113. data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
  114. data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
  115. data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
  116. data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
  117. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
  118. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
  119. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
  120. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
  121. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
  122. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
  123. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
  124. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
  125. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
  126. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
  127. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
  128. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
  129. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
  130. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
  131. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
  132. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
  133. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
  134. data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
  135. data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
  136. data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
  137. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
  138. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
  139. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
  140. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
  141. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
  142. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
  143. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
  144. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
  145. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
  146. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
  147. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
  148. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
  149. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
  150. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
  151. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
  152. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
  153. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
  154. data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
  155. data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
  156. data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
  157. data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
  158. data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
  159. data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
  160. data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
  161. data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
  162. data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
  163. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
  164. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
  165. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
  166. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
  167. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
  168. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
  169. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
  170. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
  171. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
  172. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
  173. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
  174. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
  175. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
  176. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
  177. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
  178. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
  179. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
  180. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
  181. data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
  182. data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
  183. data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
  184. data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
  185. data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
  186. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
  187. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
  188. data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
  189. data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
  190. data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
  191. data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
  192. data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
  193. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
  194. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
  195. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
  196. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
  197. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
  198. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
  199. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
  200. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
  201. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
  202. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
  203. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
  204. data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
  205. data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
  206. data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
  207. data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
  208. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
  209. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
  210. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
  211. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
  212. data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
  213. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
  214. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
  215. data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
  216. data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
  217. data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
  218. data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
  219. data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
  220. data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
  221. data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
  222. data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
  223. data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
  224. data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
  225. data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
  226. data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
  227. data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
  228. data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
  229. data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
  230. data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
  231. data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
  232. data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
  233. data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
  234. data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
  235. data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
  236. data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
  237. data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
  238. data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
  239. data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
  240. data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
  241. data/deps/include/bullet/LinearMath/btList.h +0 -73
  242. data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
  243. data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
  244. data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
  245. data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
  246. data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
  247. data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
  248. data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
  249. data/deps/include/bullet/LinearMath/btRandom.h +0 -42
  250. data/deps/include/bullet/LinearMath/btScalar.h +0 -539
  251. data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
  252. data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
  253. data/deps/include/bullet/LinearMath/btTransform.h +0 -307
  254. data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
  255. data/deps/include/bullet/LinearMath/btVector3.h +0 -766
  256. data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
  257. data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
  258. data/deps/include/bullet/MiniCL/cl.h +0 -867
  259. data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
  260. data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
  261. data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
  262. data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
  263. data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
  264. data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
  265. data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
  266. data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
  267. data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
  268. data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
  269. data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
  270. data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
  271. data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
  272. data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
  273. data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
  274. data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
  275. data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
  276. data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
  277. data/deps/include/bullet/vectormath/vmInclude.h +0 -27
  278. data/deps/lib/libBulletCollision.a +0 -0
  279. data/deps/lib/libBulletDynamics.a +0 -0
  280. data/deps/lib/libBulletMultiThreaded.a +0 -0
  281. data/deps/lib/libBulletSoftBody.a +0 -0
  282. data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
  283. data/deps/lib/libLinearMath.a +0 -0
  284. data/deps/lib/libMiniCL.a +0 -0
@@ -1,323 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
- #ifndef BT_SOFT_BODY_SOLVER_BUFFER_DX11_H
16
- #define BT_SOFT_BODY_SOLVER_BUFFER_DX11_H
17
-
18
- // DX11 support
19
- #include <windows.h>
20
- #include <crtdbg.h>
21
- #include <d3d11.h>
22
- #include <d3dx11.h>
23
- #include <d3dcompiler.h>
24
-
25
- #ifndef SAFE_RELEASE
26
- #define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
27
- #endif
28
-
29
- /**
30
- * DX11 Buffer that tracks a host buffer on use to ensure size-correctness.
31
- */
32
- template <typename ElementType> class btDX11Buffer
33
- {
34
- protected:
35
- ID3D11Device* m_d3dDevice;
36
- ID3D11DeviceContext* m_d3dDeviceContext;
37
-
38
- ID3D11Buffer* m_Buffer;
39
- ID3D11ShaderResourceView* m_SRV;
40
- ID3D11UnorderedAccessView* m_UAV;
41
- btAlignedObjectArray< ElementType >* m_CPUBuffer;
42
-
43
- // TODO: Separate this from the main class
44
- // as read back buffers can be shared between buffers
45
- ID3D11Buffer* m_readBackBuffer;
46
-
47
- int m_gpuSize;
48
- bool m_onGPU;
49
-
50
- bool m_readOnlyOnGPU;
51
-
52
- bool createBuffer( ID3D11Buffer *preexistingBuffer = 0)
53
- {
54
- HRESULT hr = S_OK;
55
-
56
- // Create all CS buffers
57
- if( preexistingBuffer )
58
- {
59
- m_Buffer = preexistingBuffer;
60
- } else {
61
- D3D11_BUFFER_DESC buffer_desc;
62
- ZeroMemory(&buffer_desc, sizeof(buffer_desc));
63
- buffer_desc.Usage = D3D11_USAGE_DEFAULT;
64
- if( m_readOnlyOnGPU )
65
- buffer_desc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
66
- else
67
- buffer_desc.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_UNORDERED_ACCESS;
68
- buffer_desc.MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED;
69
-
70
- buffer_desc.ByteWidth = m_CPUBuffer->size() * sizeof(ElementType);
71
- // At a minimum the buffer must exist
72
- if( buffer_desc.ByteWidth == 0 )
73
- buffer_desc.ByteWidth = sizeof(ElementType);
74
- buffer_desc.StructureByteStride = sizeof(ElementType);
75
- hr = m_d3dDevice->CreateBuffer(&buffer_desc, NULL, &m_Buffer);
76
- if( FAILED( hr ) )
77
- return (hr==S_OK);
78
- }
79
-
80
- if( m_readOnlyOnGPU )
81
- {
82
- D3D11_SHADER_RESOURCE_VIEW_DESC srvbuffer_desc;
83
- ZeroMemory(&srvbuffer_desc, sizeof(srvbuffer_desc));
84
- srvbuffer_desc.Format = DXGI_FORMAT_UNKNOWN;
85
- srvbuffer_desc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER;
86
-
87
- srvbuffer_desc.Buffer.ElementWidth = m_CPUBuffer->size();
88
- if( srvbuffer_desc.Buffer.ElementWidth == 0 )
89
- srvbuffer_desc.Buffer.ElementWidth = 1;
90
- hr = m_d3dDevice->CreateShaderResourceView(m_Buffer, &srvbuffer_desc, &m_SRV);
91
- if( FAILED( hr ) )
92
- return (hr==S_OK);
93
- } else {
94
- // Create SRV
95
- D3D11_SHADER_RESOURCE_VIEW_DESC srvbuffer_desc;
96
- ZeroMemory(&srvbuffer_desc, sizeof(srvbuffer_desc));
97
- srvbuffer_desc.Format = DXGI_FORMAT_UNKNOWN;
98
- srvbuffer_desc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER;
99
-
100
- srvbuffer_desc.Buffer.ElementWidth = m_CPUBuffer->size();
101
- if( srvbuffer_desc.Buffer.ElementWidth == 0 )
102
- srvbuffer_desc.Buffer.ElementWidth = 1;
103
- hr = m_d3dDevice->CreateShaderResourceView(m_Buffer, &srvbuffer_desc, &m_SRV);
104
- if( FAILED( hr ) )
105
- return (hr==S_OK);
106
-
107
- // Create UAV
108
- D3D11_UNORDERED_ACCESS_VIEW_DESC uavbuffer_desc;
109
- ZeroMemory(&uavbuffer_desc, sizeof(uavbuffer_desc));
110
- uavbuffer_desc.Format = DXGI_FORMAT_UNKNOWN;
111
- uavbuffer_desc.ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
112
-
113
- uavbuffer_desc.Buffer.NumElements = m_CPUBuffer->size();
114
- if( uavbuffer_desc.Buffer.NumElements == 0 )
115
- uavbuffer_desc.Buffer.NumElements = 1;
116
- hr = m_d3dDevice->CreateUnorderedAccessView(m_Buffer, &uavbuffer_desc, &m_UAV);
117
- if( FAILED( hr ) )
118
- return (hr==S_OK);
119
-
120
- // Create read back buffer
121
- D3D11_BUFFER_DESC readback_buffer_desc;
122
- ZeroMemory(&readback_buffer_desc, sizeof(readback_buffer_desc));
123
-
124
- readback_buffer_desc.ByteWidth = m_CPUBuffer->size() * sizeof(ElementType);
125
- readback_buffer_desc.Usage = D3D11_USAGE_STAGING;
126
- readback_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
127
- readback_buffer_desc.StructureByteStride = sizeof(ElementType);
128
- hr = m_d3dDevice->CreateBuffer(&readback_buffer_desc, NULL, &m_readBackBuffer);
129
- if( FAILED( hr ) )
130
- return (hr==S_OK);
131
- }
132
-
133
- m_gpuSize = m_CPUBuffer->size();
134
- return true;
135
- }
136
-
137
-
138
-
139
- public:
140
- btDX11Buffer( ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext, btAlignedObjectArray< ElementType > *CPUBuffer, bool readOnly )
141
- {
142
- m_d3dDevice = d3dDevice;
143
- m_d3dDeviceContext = d3dDeviceContext;
144
- m_Buffer = 0;
145
- m_SRV = 0;
146
- m_UAV = 0;
147
- m_readBackBuffer = 0;
148
-
149
- m_CPUBuffer = CPUBuffer;
150
-
151
- m_gpuSize = 0;
152
- m_onGPU = false;
153
-
154
- m_readOnlyOnGPU = readOnly;
155
- }
156
-
157
- virtual ~btDX11Buffer()
158
- {
159
- SAFE_RELEASE(m_Buffer);
160
- SAFE_RELEASE(m_SRV);
161
- SAFE_RELEASE(m_UAV);
162
- SAFE_RELEASE(m_readBackBuffer);
163
- }
164
-
165
- ID3D11ShaderResourceView* &getSRV()
166
- {
167
- return m_SRV;
168
- }
169
-
170
- ID3D11UnorderedAccessView* &getUAV()
171
- {
172
- return m_UAV;
173
- }
174
-
175
- ID3D11Buffer* &getBuffer()
176
- {
177
- return m_Buffer;
178
- }
179
-
180
- /**
181
- * Move the data to the GPU if it is not there already.
182
- */
183
- bool moveToGPU()
184
- {
185
- // Reallocate if GPU size is too small
186
- if( (m_CPUBuffer->size() > m_gpuSize ) )
187
- m_onGPU = false;
188
- if( !m_onGPU && m_CPUBuffer->size() > 0 )
189
- {
190
- // If the buffer doesn't exist or the CPU-side buffer has changed size, create
191
- // We should really delete the old one, too, but let's leave that for later
192
- if( !m_Buffer || (m_CPUBuffer->size() != m_gpuSize) )
193
- {
194
- SAFE_RELEASE(m_Buffer);
195
- SAFE_RELEASE(m_SRV);
196
- SAFE_RELEASE(m_UAV);
197
- SAFE_RELEASE(m_readBackBuffer);
198
- if( !createBuffer() )
199
- {
200
- btAssert("Buffer creation failed.");
201
- return false;
202
- }
203
- }
204
-
205
- if( m_gpuSize > 0 )
206
- {
207
- D3D11_BOX destRegion;
208
- destRegion.left = 0;
209
- destRegion.front = 0;
210
- destRegion.top = 0;
211
- destRegion.bottom = 1;
212
- destRegion.back = 1;
213
- destRegion.right = (m_CPUBuffer->size())*sizeof(ElementType);
214
- m_d3dDeviceContext->UpdateSubresource(m_Buffer, 0, &destRegion, &((*m_CPUBuffer)[0]), 0, 0);
215
-
216
- m_onGPU = true;
217
- }
218
-
219
- }
220
-
221
- return true;
222
- }
223
-
224
- /**
225
- * Move the data back from the GPU if it is on there and isn't read only.
226
- */
227
- bool moveFromGPU()
228
- {
229
- if( m_CPUBuffer->size() > 0 )
230
- {
231
- if( m_onGPU && !m_readOnlyOnGPU )
232
- {
233
- // Copy back
234
- D3D11_MAPPED_SUBRESOURCE MappedResource = {0};
235
- //m_pd3dImmediateContext->CopyResource(m_phAngVelReadBackBuffer, m_phAngVel);
236
-
237
- D3D11_BOX destRegion;
238
- destRegion.left = 0;
239
- destRegion.front = 0;
240
- destRegion.top = 0;
241
- destRegion.bottom = 1;
242
- destRegion.back = 1;
243
-
244
- destRegion.right = (m_CPUBuffer->size())*sizeof(ElementType);
245
- m_d3dDeviceContext->CopySubresourceRegion(
246
- m_readBackBuffer,
247
- 0,
248
- 0,
249
- 0,
250
- 0 ,
251
- m_Buffer,
252
- 0,
253
- &destRegion
254
- );
255
-
256
- m_d3dDeviceContext->Map(m_readBackBuffer, 0, D3D11_MAP_READ, 0, &MappedResource);
257
- //memcpy(m_hAngVel, MappedResource.pData, (m_maxObjs * sizeof(float) ));
258
- memcpy(&((*m_CPUBuffer)[0]), MappedResource.pData, ((m_CPUBuffer->size()) * sizeof(ElementType) ));
259
- m_d3dDeviceContext->Unmap(m_readBackBuffer, 0);
260
-
261
- m_onGPU = false;
262
- }
263
- }
264
-
265
- return true;
266
- }
267
-
268
-
269
- /**
270
- * Copy the data back from the GPU without changing its state to be CPU-side.
271
- * Useful if we just want to view it on the host for visualization.
272
- */
273
- bool copyFromGPU()
274
- {
275
- if( m_CPUBuffer->size() > 0 )
276
- {
277
- if( m_onGPU && !m_readOnlyOnGPU )
278
- {
279
- // Copy back
280
- D3D11_MAPPED_SUBRESOURCE MappedResource = {0};
281
-
282
- D3D11_BOX destRegion;
283
- destRegion.left = 0;
284
- destRegion.front = 0;
285
- destRegion.top = 0;
286
- destRegion.bottom = 1;
287
- destRegion.back = 1;
288
-
289
- destRegion.right = (m_CPUBuffer->size())*sizeof(ElementType);
290
- m_d3dDeviceContext->CopySubresourceRegion(
291
- m_readBackBuffer,
292
- 0,
293
- 0,
294
- 0,
295
- 0 ,
296
- m_Buffer,
297
- 0,
298
- &destRegion
299
- );
300
-
301
- m_d3dDeviceContext->Map(m_readBackBuffer, 0, D3D11_MAP_READ, 0, &MappedResource);
302
- //memcpy(m_hAngVel, MappedResource.pData, (m_maxObjs * sizeof(float) ));
303
- memcpy(&((*m_CPUBuffer)[0]), MappedResource.pData, ((m_CPUBuffer->size()) * sizeof(ElementType) ));
304
- m_d3dDeviceContext->Unmap(m_readBackBuffer, 0);
305
- }
306
- }
307
-
308
- return true;
309
- }
310
-
311
- /**
312
- * Call if data has changed on the CPU.
313
- * Can then trigger a move to the GPU as necessary.
314
- */
315
- virtual void changedOnCPU()
316
- {
317
- m_onGPU = false;
318
- }
319
- }; // class btDX11Buffer
320
-
321
-
322
-
323
- #endif // #ifndef BT_SOFT_BODY_SOLVER_BUFFER_DX11_H
@@ -1,103 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
-
17
- #include "BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h"
18
- #include "btSoftBodySolverBuffer_DX11.h"
19
-
20
-
21
- #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_DX11_H
22
- #define BT_SOFT_BODY_SOLVER_LINK_DATA_DX11_H
23
-
24
- struct ID3D11Device;
25
- struct ID3D11DeviceContext;
26
-
27
-
28
- class btSoftBodyLinkDataDX11 : public btSoftBodyLinkData
29
- {
30
- public:
31
- bool m_onGPU;
32
- ID3D11Device *m_d3dDevice;
33
- ID3D11DeviceContext *m_d3dDeviceContext;
34
-
35
-
36
- btDX11Buffer<LinkNodePair> m_dx11Links;
37
- btDX11Buffer<float> m_dx11LinkStrength;
38
- btDX11Buffer<float> m_dx11LinksMassLSC;
39
- btDX11Buffer<float> m_dx11LinksRestLengthSquared;
40
- btDX11Buffer<Vectormath::Aos::Vector3> m_dx11LinksCLength;
41
- btDX11Buffer<float> m_dx11LinksLengthRatio;
42
- btDX11Buffer<float> m_dx11LinksRestLength;
43
- btDX11Buffer<float> m_dx11LinksMaterialLinearStiffnessCoefficient;
44
-
45
- struct BatchPair
46
- {
47
- int start;
48
- int length;
49
-
50
- BatchPair() :
51
- start(0),
52
- length(0)
53
- {
54
- }
55
-
56
- BatchPair( int s, int l ) :
57
- start( s ),
58
- length( l )
59
- {
60
- }
61
- };
62
-
63
- /**
64
- * Link addressing information for each cloth.
65
- * Allows link locations to be computed independently of data batching.
66
- */
67
- btAlignedObjectArray< int > m_linkAddresses;
68
-
69
- /**
70
- * Start and length values for computation batches over link data.
71
- */
72
- btAlignedObjectArray< BatchPair > m_batchStartLengths;
73
-
74
-
75
- //ID3D11Buffer* readBackBuffer;
76
-
77
- btSoftBodyLinkDataDX11( ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext );
78
-
79
- virtual ~btSoftBodyLinkDataDX11();
80
-
81
- /** Allocate enough space in all link-related arrays to fit numLinks links */
82
- virtual void createLinks( int numLinks );
83
-
84
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
85
- virtual void setLinkAt( const LinkDescription &link, int linkIndex );
86
-
87
- virtual bool onAccelerator();
88
-
89
- virtual bool moveToAccelerator();
90
-
91
- virtual bool moveFromAccelerator();
92
-
93
- /**
94
- * Generate (and later update) the batching for the entire link set.
95
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
96
- * In theory we could delay it until just before we need the cloth.
97
- * It's a one-off overhead, though, so that is a later optimisation.
98
- */
99
- void generateBatches();
100
- };
101
-
102
-
103
- #endif // #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_DX11_H
@@ -1,173 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #include "BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h"
17
- #include "btSoftBodySolverBuffer_DX11.h"
18
-
19
- #ifndef BT_ACCELERATED_SOFT_BODY_LINK_DATA_DX11_SIMDAWARE_H
20
- #define BT_ACCELERATED_SOFT_BODY_LINK_DATA_DX11_SIMDAWARE_H
21
-
22
- struct ID3D11Device;
23
- struct ID3D11DeviceContext;
24
-
25
-
26
- class btSoftBodyLinkDataDX11SIMDAware : public btSoftBodyLinkData
27
- {
28
- public:
29
- bool m_onGPU;
30
- ID3D11Device *m_d3dDevice;
31
- ID3D11DeviceContext *m_d3dDeviceContext;
32
-
33
- const int m_wavefrontSize;
34
- const int m_linksPerWorkItem;
35
- const int m_maxLinksPerWavefront;
36
- int m_maxBatchesWithinWave;
37
- int m_maxVerticesWithinWave;
38
- int m_numWavefronts;
39
-
40
- int m_maxVertex;
41
-
42
- struct NumBatchesVerticesPair
43
- {
44
- int numBatches;
45
- int numVertices;
46
- };
47
-
48
- // Array storing number of links in each wavefront
49
- btAlignedObjectArray<int> m_linksPerWavefront;
50
- btAlignedObjectArray<NumBatchesVerticesPair> m_numBatchesAndVerticesWithinWaves;
51
- btDX11Buffer< NumBatchesVerticesPair > m_dx11NumBatchesAndVerticesWithinWaves;
52
-
53
- // All arrays here will contain batches of m_maxLinksPerWavefront links
54
- // ordered by wavefront.
55
- // with either global vertex pairs or local vertex pairs
56
- btAlignedObjectArray< int > m_wavefrontVerticesGlobalAddresses; // List of global vertices per wavefront
57
- btDX11Buffer<int> m_dx11WavefrontVerticesGlobalAddresses;
58
- btAlignedObjectArray< LinkNodePair > m_linkVerticesLocalAddresses; // Vertex pair for the link
59
- btDX11Buffer<LinkNodePair> m_dx11LinkVerticesLocalAddresses;
60
- btDX11Buffer<float> m_dx11LinkStrength;
61
- btDX11Buffer<float> m_dx11LinksMassLSC;
62
- btDX11Buffer<float> m_dx11LinksRestLengthSquared;
63
- btDX11Buffer<float> m_dx11LinksRestLength;
64
- btDX11Buffer<float> m_dx11LinksMaterialLinearStiffnessCoefficient;
65
-
66
- struct BatchPair
67
- {
68
- int start;
69
- int length;
70
-
71
- BatchPair() :
72
- start(0),
73
- length(0)
74
- {
75
- }
76
-
77
- BatchPair( int s, int l ) :
78
- start( s ),
79
- length( l )
80
- {
81
- }
82
- };
83
-
84
- /**
85
- * Link addressing information for each cloth.
86
- * Allows link locations to be computed independently of data batching.
87
- */
88
- btAlignedObjectArray< int > m_linkAddresses;
89
-
90
- /**
91
- * Start and length values for computation batches over link data.
92
- */
93
- btAlignedObjectArray< BatchPair > m_wavefrontBatchStartLengths;
94
-
95
-
96
- //ID3D11Buffer* readBackBuffer;
97
-
98
- btSoftBodyLinkDataDX11SIMDAware( ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext );
99
-
100
- virtual ~btSoftBodyLinkDataDX11SIMDAware();
101
-
102
- /** Allocate enough space in all link-related arrays to fit numLinks links */
103
- virtual void createLinks( int numLinks );
104
-
105
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
106
- virtual void setLinkAt( const LinkDescription &link, int linkIndex );
107
-
108
- virtual bool onAccelerator();
109
-
110
- virtual bool moveToAccelerator();
111
-
112
- virtual bool moveFromAccelerator();
113
-
114
- /**
115
- * Generate (and later update) the batching for the entire link set.
116
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
117
- * In theory we could delay it until just before we need the cloth.
118
- * It's a one-off overhead, though, so that is a later optimisation.
119
- */
120
- void generateBatches();
121
-
122
- int getMaxVerticesPerWavefront()
123
- {
124
- return m_maxVerticesWithinWave;
125
- }
126
-
127
- int getWavefrontSize()
128
- {
129
- return m_wavefrontSize;
130
- }
131
-
132
- int getLinksPerWorkItem()
133
- {
134
- return m_linksPerWorkItem;
135
- }
136
-
137
- int getMaxLinksPerWavefront()
138
- {
139
- return m_maxLinksPerWavefront;
140
- }
141
-
142
- int getMaxBatchesPerWavefront()
143
- {
144
- return m_maxBatchesWithinWave;
145
- }
146
-
147
- int getNumWavefronts()
148
- {
149
- return m_numWavefronts;
150
- }
151
-
152
- NumBatchesVerticesPair getNumBatchesAndVerticesWithinWavefront( int wavefront )
153
- {
154
- return m_numBatchesAndVerticesWithinWaves[wavefront];
155
- }
156
-
157
- int getVertexGlobalAddresses( int vertexIndex )
158
- {
159
- return m_wavefrontVerticesGlobalAddresses[vertexIndex];
160
- }
161
-
162
- /**
163
- * Get post-batching local addresses of the vertex pair for a link assuming all vertices used by a wavefront are loaded locally.
164
- */
165
- LinkNodePair getVertexPairLocalAddresses( int linkIndex )
166
- {
167
- return m_linkVerticesLocalAddresses[linkIndex];
168
- }
169
-
170
- };
171
-
172
-
173
- #endif // #ifndef BT_ACCELERATED_SOFT_BODY_LINK_DATA_DX11_SIMDAWARE_H
@@ -1,96 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #include "BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h"
17
- #include "btSoftBodySolverBuffer_DX11.h"
18
-
19
-
20
- #ifndef BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_DX11_H
21
- #define BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_DX11_H
22
-
23
- struct ID3D11Device;
24
- struct ID3D11DeviceContext;
25
-
26
- class btSoftBodyTriangleDataDX11 : public btSoftBodyTriangleData
27
- {
28
- public:
29
- bool m_onGPU;
30
- ID3D11Device *m_d3dDevice;
31
- ID3D11DeviceContext *m_d3dDeviceContext;
32
-
33
- btDX11Buffer<btSoftBodyTriangleData::TriangleNodeSet> m_dx11VertexIndices;
34
- btDX11Buffer<float> m_dx11Area;
35
- btDX11Buffer<Vectormath::Aos::Vector3> m_dx11Normal;
36
-
37
- struct BatchPair
38
- {
39
- int start;
40
- int length;
41
-
42
- BatchPair() :
43
- start(0),
44
- length(0)
45
- {
46
- }
47
-
48
- BatchPair( int s, int l ) :
49
- start( s ),
50
- length( l )
51
- {
52
- }
53
- };
54
-
55
-
56
- /**
57
- * Link addressing information for each cloth.
58
- * Allows link locations to be computed independently of data batching.
59
- */
60
- btAlignedObjectArray< int > m_triangleAddresses;
61
-
62
- /**
63
- * Start and length values for computation batches over link data.
64
- */
65
- btAlignedObjectArray< BatchPair > m_batchStartLengths;
66
-
67
- //ID3D11Buffer* readBackBuffer;
68
-
69
- public:
70
- btSoftBodyTriangleDataDX11( ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext );
71
-
72
- virtual ~btSoftBodyTriangleDataDX11();
73
-
74
-
75
- /** Allocate enough space in all link-related arrays to fit numLinks links */
76
- virtual void createTriangles( int numTriangles );
77
-
78
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
79
- virtual void setTriangleAt( const btSoftBodyTriangleData::TriangleDescription &triangle, int triangleIndex );
80
-
81
- virtual bool onAccelerator();
82
- virtual bool moveToAccelerator();
83
-
84
- virtual bool moveFromAccelerator();
85
- /**
86
- * Generate (and later update) the batching for the entire triangle set.
87
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
88
- * In theory we could delay it until just before we need the cloth.
89
- * It's a one-off overhead, though, so that is a later optimisation.
90
- */
91
- void generateBatches();
92
- };
93
-
94
-
95
-
96
- #endif // #ifndef BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_DX11_H