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,81 +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 "vectormath/vmInclude.h"
17
- #include "btSoftBodySolver_DX11.h"
18
- #include "btSoftBodySolverVertexBuffer_DX11.h"
19
- #include "btSoftBodySolverLinkData_DX11SIMDAware.h"
20
- #include "btSoftBodySolverVertexData_DX11.h"
21
- #include "btSoftBodySolverTriangleData_DX11.h"
22
-
23
-
24
- #ifndef BT_SOFT_BODY_DX11_SOLVER_SIMDAWARE_H
25
- #define BT_SOFT_BODY_DX11_SOLVER_SIMDAWARE_H
26
-
27
- class btDX11SIMDAwareSoftBodySolver : public btDX11SoftBodySolver
28
- {
29
- protected:
30
- struct SolvePositionsFromLinksKernelCB
31
- {
32
- int startWave;
33
- int numWaves;
34
- float kst;
35
- float ti;
36
- };
37
-
38
-
39
- /** Link data for all cloths. Note that this will be sorted batch-wise for efficient computation and m_linkAddresses will maintain the addressing. */
40
- btSoftBodyLinkDataDX11SIMDAware m_linkData;
41
-
42
- /** Variable to define whether we need to update solver constants on the next iteration */
43
- bool m_updateSolverConstants;
44
-
45
-
46
- virtual bool buildShaders();
47
-
48
- void updateConstants( float timeStep );
49
-
50
-
51
- //////////////////////////////////////
52
- // Kernel dispatches
53
-
54
-
55
- void solveLinksForPosition( int startLink, int numLinks, float kst, float ti );
56
-
57
- // End kernel dispatches
58
- /////////////////////////////////////
59
-
60
-
61
-
62
- public:
63
- btDX11SIMDAwareSoftBodySolver(ID3D11Device * dx11Device, ID3D11DeviceContext* dx11Context, DXFunctions::CompileFromMemoryFunc dx11CompileFromMemory = &D3DX11CompileFromMemory);
64
-
65
- virtual ~btDX11SIMDAwareSoftBodySolver();
66
-
67
- virtual btSoftBodyLinkData &getLinkData();
68
-
69
- virtual void optimize( btAlignedObjectArray< btSoftBody * > &softBodies , bool forceUpdate=false);
70
-
71
- virtual void solveConstraints( float solverdt );
72
-
73
- virtual SolverTypes getSolverType() const
74
- {
75
- return DX_SIMD_SOLVER;
76
- }
77
-
78
- };
79
-
80
- #endif // #ifndef BT_SOFT_BODY_DX11_SOLVER_SIMDAWARE_H
81
-
@@ -1,209 +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
- #ifndef BT_SOFT_BODY_SOLVER_BUFFER_OPENCL_H
17
- #define BT_SOFT_BODY_SOLVER_BUFFER_OPENCL_H
18
-
19
- // OpenCL support
20
-
21
- #ifdef USE_MINICL
22
- #include "MiniCL/cl.h"
23
- #else //USE_MINICL
24
- #ifdef __APPLE__
25
- #include <OpenCL/OpenCL.h>
26
- #else
27
- #include <CL/cl.h>
28
- #endif //__APPLE__
29
- #endif//USE_MINICL
30
-
31
- #ifndef SAFE_RELEASE
32
- #define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
33
- #endif
34
-
35
- template <typename ElementType> class btOpenCLBuffer
36
- {
37
- public:
38
-
39
- cl_command_queue m_cqCommandQue;
40
- cl_context m_clContext;
41
- cl_mem m_buffer;
42
-
43
-
44
-
45
- btAlignedObjectArray< ElementType > * m_CPUBuffer;
46
-
47
- int m_gpuSize;
48
- bool m_onGPU;
49
- bool m_readOnlyOnGPU;
50
- bool m_allocated;
51
-
52
-
53
- bool createBuffer( cl_mem* preexistingBuffer = 0)
54
- {
55
-
56
- cl_int err;
57
-
58
-
59
- if( preexistingBuffer )
60
- {
61
- m_buffer = *preexistingBuffer;
62
- }
63
- else {
64
-
65
- cl_mem_flags flags= m_readOnlyOnGPU ? CL_MEM_READ_ONLY : CL_MEM_READ_WRITE;
66
-
67
- size_t size = m_CPUBuffer->size() * sizeof(ElementType);
68
- // At a minimum the buffer must exist
69
- if( size == 0 )
70
- size = sizeof(ElementType);
71
- m_buffer = clCreateBuffer(m_clContext, flags, size, 0, &err);
72
- if( err != CL_SUCCESS )
73
- {
74
- btAssert( "Buffer::Buffer(m_buffer)");
75
- }
76
- }
77
-
78
- m_gpuSize = m_CPUBuffer->size();
79
-
80
- return true;
81
- }
82
-
83
- public:
84
- btOpenCLBuffer( cl_command_queue commandQue,cl_context ctx, btAlignedObjectArray< ElementType >* CPUBuffer, bool readOnly)
85
- :m_cqCommandQue(commandQue),
86
- m_clContext(ctx),
87
- m_buffer(0),
88
- m_CPUBuffer(CPUBuffer),
89
- m_gpuSize(0),
90
- m_onGPU(false),
91
- m_readOnlyOnGPU(readOnly),
92
- m_allocated(false)
93
- {
94
- }
95
-
96
- ~btOpenCLBuffer()
97
- {
98
- clReleaseMemObject(m_buffer);
99
- }
100
-
101
-
102
- bool moveToGPU()
103
- {
104
-
105
-
106
- cl_int err;
107
-
108
- if( (m_CPUBuffer->size() != m_gpuSize) )
109
- {
110
- m_onGPU = false;
111
- }
112
-
113
- if( !m_allocated && m_CPUBuffer->size() == 0 )
114
- {
115
- // If it isn't on the GPU and yet there is no data on the CPU side this may cause a problem with some kernels.
116
- // We should create *something* on the device side
117
- if (!createBuffer()) {
118
- return false;
119
- }
120
- m_allocated = true;
121
- }
122
-
123
- if( !m_onGPU && m_CPUBuffer->size() > 0 )
124
- {
125
- if (!m_allocated || (m_CPUBuffer->size() != m_gpuSize)) {
126
- if (!createBuffer()) {
127
- return false;
128
- }
129
- m_allocated = true;
130
- }
131
-
132
- size_t size = m_CPUBuffer->size() * sizeof(ElementType);
133
- err = clEnqueueWriteBuffer(m_cqCommandQue,m_buffer,
134
- CL_FALSE,
135
- 0,
136
- size,
137
- &((*m_CPUBuffer)[0]),0,0,0);
138
- if( err != CL_SUCCESS )
139
- {
140
- btAssert( "CommandQueue::enqueueWriteBuffer(m_buffer)" );
141
- }
142
-
143
- m_onGPU = true;
144
- }
145
-
146
- return true;
147
-
148
- }
149
-
150
- bool moveFromGPU()
151
- {
152
-
153
- cl_int err;
154
-
155
- if (m_CPUBuffer->size() > 0) {
156
- if (m_onGPU && !m_readOnlyOnGPU) {
157
- size_t size = m_CPUBuffer->size() * sizeof(ElementType);
158
- err = clEnqueueReadBuffer(m_cqCommandQue,
159
- m_buffer,
160
- CL_TRUE,
161
- 0,
162
- size,
163
- &((*m_CPUBuffer)[0]),0,0,0);
164
-
165
- if( err != CL_SUCCESS )
166
- {
167
- btAssert( "CommandQueue::enqueueReadBuffer(m_buffer)" );
168
- }
169
-
170
- m_onGPU = false;
171
- }
172
- }
173
-
174
- return true;
175
- }
176
-
177
- bool copyFromGPU()
178
- {
179
-
180
- cl_int err;
181
- size_t size = m_CPUBuffer->size() * sizeof(ElementType);
182
-
183
- if (m_CPUBuffer->size() > 0) {
184
- if (m_onGPU && !m_readOnlyOnGPU) {
185
- err = clEnqueueReadBuffer(m_cqCommandQue,
186
- m_buffer,
187
- CL_TRUE,
188
- 0,size,
189
- &((*m_CPUBuffer)[0]),0,0,0);
190
-
191
- if( err != CL_SUCCESS )
192
- {
193
- btAssert( "CommandQueue::enqueueReadBuffer(m_buffer)");
194
- }
195
-
196
- }
197
- }
198
-
199
- return true;
200
- }
201
-
202
- virtual void changedOnCPU()
203
- {
204
- m_onGPU = false;
205
- }
206
- }; // class btOpenCLBuffer
207
-
208
-
209
- #endif // #ifndef BT_SOFT_BODY_SOLVER_BUFFER_OPENCL_H
@@ -1,99 +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_OpenCL.h"
18
-
19
-
20
- #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_H
21
- #define BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_H
22
-
23
-
24
- class btSoftBodyLinkDataOpenCL : public btSoftBodyLinkData
25
- {
26
- public:
27
- bool m_onGPU;
28
-
29
- cl_command_queue m_cqCommandQue;
30
-
31
-
32
- btOpenCLBuffer<LinkNodePair> m_clLinks;
33
- btOpenCLBuffer<float> m_clLinkStrength;
34
- btOpenCLBuffer<float> m_clLinksMassLSC;
35
- btOpenCLBuffer<float> m_clLinksRestLengthSquared;
36
- btOpenCLBuffer<Vectormath::Aos::Vector3> m_clLinksCLength;
37
- btOpenCLBuffer<float> m_clLinksLengthRatio;
38
- btOpenCLBuffer<float> m_clLinksRestLength;
39
- btOpenCLBuffer<float> m_clLinksMaterialLinearStiffnessCoefficient;
40
-
41
- struct BatchPair
42
- {
43
- int start;
44
- int length;
45
-
46
- BatchPair() :
47
- start(0),
48
- length(0)
49
- {
50
- }
51
-
52
- BatchPair( int s, int l ) :
53
- start( s ),
54
- length( l )
55
- {
56
- }
57
- };
58
-
59
- /**
60
- * Link addressing information for each cloth.
61
- * Allows link locations to be computed independently of data batching.
62
- */
63
- btAlignedObjectArray< int > m_linkAddresses;
64
-
65
- /**
66
- * Start and length values for computation batches over link data.
67
- */
68
- btAlignedObjectArray< BatchPair > m_batchStartLengths;
69
-
70
- btSoftBodyLinkDataOpenCL(cl_command_queue queue, cl_context ctx);
71
-
72
- virtual ~btSoftBodyLinkDataOpenCL();
73
-
74
- /** Allocate enough space in all link-related arrays to fit numLinks links */
75
- virtual void createLinks( int numLinks );
76
-
77
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
78
- virtual void setLinkAt(
79
- const LinkDescription &link,
80
- int linkIndex );
81
-
82
- virtual bool onAccelerator();
83
-
84
- virtual bool moveToAccelerator();
85
-
86
- virtual bool moveFromAccelerator();
87
-
88
- /**
89
- * Generate (and later update) the batching for the entire link set.
90
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
91
- * In theory we could delay it until just before we need the cloth.
92
- * It's a one-off overhead, though, so that is a later optimisation.
93
- */
94
- void generateBatches();
95
- };
96
-
97
-
98
-
99
- #endif // #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_H
@@ -1,169 +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_OpenCL.h"
18
-
19
-
20
- #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_SIMDAWARE_H
21
- #define BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_SIMDAWARE_H
22
-
23
-
24
- class btSoftBodyLinkDataOpenCLSIMDAware : public btSoftBodyLinkData
25
- {
26
- public:
27
- bool m_onGPU;
28
-
29
- cl_command_queue m_cqCommandQue;
30
-
31
- const int m_wavefrontSize;
32
- const int m_linksPerWorkItem;
33
- const int m_maxLinksPerWavefront;
34
- int m_maxBatchesWithinWave;
35
- int m_maxVerticesWithinWave;
36
- int m_numWavefronts;
37
-
38
- int m_maxVertex;
39
-
40
- struct NumBatchesVerticesPair
41
- {
42
- int numBatches;
43
- int numVertices;
44
- };
45
-
46
- btAlignedObjectArray<int> m_linksPerWavefront;
47
- btAlignedObjectArray<NumBatchesVerticesPair> m_numBatchesAndVerticesWithinWaves;
48
- btOpenCLBuffer< NumBatchesVerticesPair > m_clNumBatchesAndVerticesWithinWaves;
49
-
50
- // All arrays here will contain batches of m_maxLinksPerWavefront links
51
- // ordered by wavefront.
52
- // with either global vertex pairs or local vertex pairs
53
- btAlignedObjectArray< int > m_wavefrontVerticesGlobalAddresses; // List of global vertices per wavefront
54
- btOpenCLBuffer<int> m_clWavefrontVerticesGlobalAddresses;
55
- btAlignedObjectArray< LinkNodePair > m_linkVerticesLocalAddresses; // Vertex pair for the link
56
- btOpenCLBuffer<LinkNodePair> m_clLinkVerticesLocalAddresses;
57
- btOpenCLBuffer<float> m_clLinkStrength;
58
- btOpenCLBuffer<float> m_clLinksMassLSC;
59
- btOpenCLBuffer<float> m_clLinksRestLengthSquared;
60
- btOpenCLBuffer<float> m_clLinksRestLength;
61
- btOpenCLBuffer<float> m_clLinksMaterialLinearStiffnessCoefficient;
62
-
63
- struct BatchPair
64
- {
65
- int start;
66
- int length;
67
-
68
- BatchPair() :
69
- start(0),
70
- length(0)
71
- {
72
- }
73
-
74
- BatchPair( int s, int l ) :
75
- start( s ),
76
- length( l )
77
- {
78
- }
79
- };
80
-
81
- /**
82
- * Link addressing information for each cloth.
83
- * Allows link locations to be computed independently of data batching.
84
- */
85
- btAlignedObjectArray< int > m_linkAddresses;
86
-
87
- /**
88
- * Start and length values for computation batches over link data.
89
- */
90
- btAlignedObjectArray< BatchPair > m_wavefrontBatchStartLengths;
91
-
92
- btSoftBodyLinkDataOpenCLSIMDAware(cl_command_queue queue, cl_context ctx);
93
-
94
- virtual ~btSoftBodyLinkDataOpenCLSIMDAware();
95
-
96
- /** Allocate enough space in all link-related arrays to fit numLinks links */
97
- virtual void createLinks( int numLinks );
98
-
99
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
100
- virtual void setLinkAt(
101
- const LinkDescription &link,
102
- int linkIndex );
103
-
104
- virtual bool onAccelerator();
105
-
106
- virtual bool moveToAccelerator();
107
-
108
- virtual bool moveFromAccelerator();
109
-
110
- /**
111
- * Generate (and later update) the batching for the entire link set.
112
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
113
- * In theory we could delay it until just before we need the cloth.
114
- * It's a one-off overhead, though, so that is a later optimisation.
115
- */
116
- void generateBatches();
117
-
118
- int getMaxVerticesPerWavefront()
119
- {
120
- return m_maxVerticesWithinWave;
121
- }
122
-
123
- int getWavefrontSize()
124
- {
125
- return m_wavefrontSize;
126
- }
127
-
128
- int getLinksPerWorkItem()
129
- {
130
- return m_linksPerWorkItem;
131
- }
132
-
133
- int getMaxLinksPerWavefront()
134
- {
135
- return m_maxLinksPerWavefront;
136
- }
137
-
138
- int getMaxBatchesPerWavefront()
139
- {
140
- return m_maxBatchesWithinWave;
141
- }
142
-
143
- int getNumWavefronts()
144
- {
145
- return m_numWavefronts;
146
- }
147
-
148
- NumBatchesVerticesPair getNumBatchesAndVerticesWithinWavefront( int wavefront )
149
- {
150
- return m_numBatchesAndVerticesWithinWaves[wavefront];
151
- }
152
-
153
- int getVertexGlobalAddresses( int vertexIndex )
154
- {
155
- return m_wavefrontVerticesGlobalAddresses[vertexIndex];
156
- }
157
-
158
- /**
159
- * Get post-batching local addresses of the vertex pair for a link assuming all vertices used by a wavefront are loaded locally.
160
- */
161
- LinkNodePair getVertexPairLocalAddresses( int linkIndex )
162
- {
163
- return m_linkVerticesLocalAddresses[linkIndex];
164
- }
165
- };
166
-
167
-
168
-
169
- #endif // #ifndef BT_SOFT_BODY_SOLVER_LINK_DATA_OPENCL_SIMDAWARE_H
@@ -1,62 +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
- #ifndef BT_SOFT_BODY_SOLVER_OUTPUT_CL_TO_GL_H
17
- #define BT_SOFT_BODY_SOLVER_OUTPUT_CL_TO_GL_H
18
-
19
- #include "btSoftBodySolver_OpenCL.h"
20
-
21
- /**
22
- * Class to manage movement of data from a solver to a given target.
23
- * This version is the CL to GL interop version.
24
- */
25
- class btSoftBodySolverOutputCLtoGL : public btSoftBodySolverOutput
26
- {
27
- protected:
28
- cl_command_queue m_cqCommandQue;
29
- cl_context m_cxMainContext;
30
- CLFunctions clFunctions;
31
-
32
- cl_kernel outputToVertexArrayWithNormalsKernel;
33
- cl_kernel outputToVertexArrayWithoutNormalsKernel;
34
-
35
- bool m_shadersInitialized;
36
-
37
- virtual bool checkInitialized();
38
- virtual bool buildShaders();
39
- void releaseKernels();
40
- public:
41
- btSoftBodySolverOutputCLtoGL(cl_command_queue cqCommandQue, cl_context cxMainContext) :
42
- m_cqCommandQue( cqCommandQue ),
43
- m_cxMainContext( cxMainContext ),
44
- clFunctions(cqCommandQue, cxMainContext),
45
- outputToVertexArrayWithNormalsKernel( 0 ),
46
- outputToVertexArrayWithoutNormalsKernel( 0 ),
47
- m_shadersInitialized( false )
48
- {
49
- }
50
-
51
- virtual ~btSoftBodySolverOutputCLtoGL()
52
- {
53
- releaseKernels();
54
- }
55
-
56
- /** Output current computed vertex data to the vertex buffers for all cloths in the solver. */
57
- virtual void copySoftBodyToVertexBuffer( const btSoftBody * const softBody, btVertexBufferDescriptor *vertexBuffer );
58
- };
59
-
60
-
61
-
62
- #endif // #ifndef BT_SOFT_BODY_SOLVER_OUTPUT_CL_TO_GL_H
@@ -1,84 +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_OpenCL.h"
19
-
20
-
21
- #ifndef BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_OPENCL_H
22
- #define BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_OPENCL_H
23
-
24
-
25
- class btSoftBodyTriangleDataOpenCL : public btSoftBodyTriangleData
26
- {
27
- public:
28
- bool m_onGPU;
29
- cl_command_queue m_queue;
30
-
31
- btOpenCLBuffer<btSoftBodyTriangleData::TriangleNodeSet> m_clVertexIndices;
32
- btOpenCLBuffer<float> m_clArea;
33
- btOpenCLBuffer<Vectormath::Aos::Vector3> m_clNormal;
34
-
35
- /**
36
- * Link addressing information for each cloth.
37
- * Allows link locations to be computed independently of data batching.
38
- */
39
- btAlignedObjectArray< int > m_triangleAddresses;
40
-
41
- /**
42
- * Start and length values for computation batches over link data.
43
- */
44
- struct btSomePair
45
- {
46
- btSomePair() {}
47
- btSomePair(int f,int s)
48
- :first(f),second(s)
49
- {
50
- }
51
- int first;
52
- int second;
53
- };
54
- btAlignedObjectArray< btSomePair > m_batchStartLengths;
55
-
56
- public:
57
- btSoftBodyTriangleDataOpenCL( cl_command_queue queue, cl_context ctx );
58
-
59
- virtual ~btSoftBodyTriangleDataOpenCL();
60
-
61
- /** Allocate enough space in all link-related arrays to fit numLinks links */
62
- virtual void createTriangles( int numTriangles );
63
-
64
- /** Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks */
65
- virtual void setTriangleAt( const btSoftBodyTriangleData::TriangleDescription &triangle, int triangleIndex );
66
-
67
- virtual bool onAccelerator();
68
-
69
- virtual bool moveToAccelerator();
70
-
71
- virtual bool moveFromAccelerator();
72
-
73
- /**
74
- * Generate (and later update) the batching for the entire triangle set.
75
- * This redoes a lot of work because it batches the entire set when each cloth is inserted.
76
- * In theory we could delay it until just before we need the cloth.
77
- * It's a one-off overhead, though, so that is a later optimisation.
78
- */
79
- void generateBatches();
80
- }; // class btSoftBodyTriangleDataOpenCL
81
-
82
-
83
- #endif // #ifndef BT_SOFT_BODY_SOLVER_TRIANGLE_DATA_OPENCL_H
84
-