ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +3 -0
- data/Rakefile +14 -2
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
- data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
- data/bindings/bullet/interface/bullet_wrap.h +7 -7
- data/bindings/bullet/interface/bullet_wrap.o +0 -0
- data/lib/bullet.so +0 -0
- data/lib/ruby-bullet/version.rb +1 -1
- data/ruby-bullet.gemspec +0 -3
- metadata +169 -444
- data/deps/include/bullet/Bullet-C-Api.h +0 -176
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
- data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
- data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
- data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
- data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
- data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
- data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
- data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
- data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
- data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
- data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
- data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
- data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
- data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
- data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
- data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
- data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
- data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
- data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
- data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
- data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
- data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
- data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
- data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
- data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
- data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
- data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
- data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
- data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
- data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
- data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
- data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
- data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
- data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
- data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
- data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
- data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
- data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
- data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
- data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
- data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
- data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
- data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
- data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
- data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
- data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
- data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
- data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
- data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
- data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
- data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
- data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
- data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
- data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
- data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
- data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
- data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
- data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
- data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
- data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
- data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
- data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
- data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
- data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
- data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
- data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
- data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
- data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
- data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
- data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
- data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
- data/deps/include/bullet/LinearMath/btList.h +0 -73
- data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
- data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
- data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
- data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
- data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
- data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
- data/deps/include/bullet/LinearMath/btRandom.h +0 -42
- data/deps/include/bullet/LinearMath/btScalar.h +0 -539
- data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
- data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
- data/deps/include/bullet/LinearMath/btTransform.h +0 -307
- data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
- data/deps/include/bullet/LinearMath/btVector3.h +0 -766
- data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
- data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
- data/deps/include/bullet/MiniCL/cl.h +0 -867
- data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
- data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
- data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
- data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
- data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
- data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
- data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
- data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
- data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
- data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
- data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
- data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
- data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
- data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
- data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
- data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
- data/deps/include/bullet/vectormath/vmInclude.h +0 -27
- data/deps/lib/libBulletCollision.a +0 -0
- data/deps/lib/libBulletDynamics.a +0 -0
- data/deps/lib/libBulletMultiThreaded.a +0 -0
- data/deps/lib/libBulletSoftBody.a +0 -0
- data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
- data/deps/lib/libLinearMath.a +0 -0
- data/deps/lib/libMiniCL.a +0 -0
@@ -1,117 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright (C) 2009 Sony Computer Entertainment Inc.
|
3
|
-
All rights reserved.
|
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
|
-
#ifndef BT_HEAP_MANAGER_H__
|
18
|
-
#define BT_HEAP_MANAGER_H__
|
19
|
-
|
20
|
-
#ifdef __SPU__
|
21
|
-
#define HEAP_STACK_SIZE 32
|
22
|
-
#else
|
23
|
-
#define HEAP_STACK_SIZE 64
|
24
|
-
#endif
|
25
|
-
|
26
|
-
#define MIN_ALLOC_SIZE 16
|
27
|
-
|
28
|
-
|
29
|
-
class HeapManager
|
30
|
-
{
|
31
|
-
private:
|
32
|
-
ATTRIBUTE_ALIGNED16(unsigned char *mHeap);
|
33
|
-
ATTRIBUTE_ALIGNED16(unsigned int mHeapBytes);
|
34
|
-
ATTRIBUTE_ALIGNED16(unsigned char *mPoolStack[HEAP_STACK_SIZE]);
|
35
|
-
ATTRIBUTE_ALIGNED16(unsigned int mCurStack);
|
36
|
-
|
37
|
-
public:
|
38
|
-
enum {ALIGN16,ALIGN128};
|
39
|
-
|
40
|
-
HeapManager(unsigned char *buf,int bytes)
|
41
|
-
{
|
42
|
-
mHeap = buf;
|
43
|
-
mHeapBytes = bytes;
|
44
|
-
clear();
|
45
|
-
}
|
46
|
-
|
47
|
-
~HeapManager()
|
48
|
-
{
|
49
|
-
}
|
50
|
-
|
51
|
-
int getAllocated()
|
52
|
-
{
|
53
|
-
return (int)(mPoolStack[mCurStack]-mHeap);
|
54
|
-
}
|
55
|
-
|
56
|
-
int getRest()
|
57
|
-
{
|
58
|
-
return mHeapBytes-getAllocated();
|
59
|
-
}
|
60
|
-
|
61
|
-
void *allocate(size_t bytes,int alignment = ALIGN16)
|
62
|
-
{
|
63
|
-
if(bytes <= 0) bytes = MIN_ALLOC_SIZE;
|
64
|
-
btAssert(mCurStack < (HEAP_STACK_SIZE-1));
|
65
|
-
|
66
|
-
|
67
|
-
#if defined(_WIN64) || defined(__LP64__) || defined(__x86_64__)
|
68
|
-
unsigned long long p = (unsigned long long )mPoolStack[mCurStack];
|
69
|
-
if(alignment == ALIGN128) {
|
70
|
-
p = ((p+127) & 0xffffffffffffff80);
|
71
|
-
bytes = (bytes+127) & 0xffffffffffffff80;
|
72
|
-
}
|
73
|
-
else {
|
74
|
-
bytes = (bytes+15) & 0xfffffffffffffff0;
|
75
|
-
}
|
76
|
-
|
77
|
-
btAssert(bytes <=(mHeapBytes-(p-(unsigned long long )mHeap)) );
|
78
|
-
|
79
|
-
#else
|
80
|
-
unsigned long p = (unsigned long )mPoolStack[mCurStack];
|
81
|
-
if(alignment == ALIGN128) {
|
82
|
-
p = ((p+127) & 0xffffff80);
|
83
|
-
bytes = (bytes+127) & 0xffffff80;
|
84
|
-
}
|
85
|
-
else {
|
86
|
-
bytes = (bytes+15) & 0xfffffff0;
|
87
|
-
}
|
88
|
-
btAssert(bytes <=(mHeapBytes-(p-(unsigned long)mHeap)) );
|
89
|
-
#endif
|
90
|
-
unsigned char * bla = (unsigned char *)(p + bytes);
|
91
|
-
mPoolStack[++mCurStack] = bla;
|
92
|
-
return (void*)p;
|
93
|
-
}
|
94
|
-
|
95
|
-
void deallocate(void *p)
|
96
|
-
{
|
97
|
-
(void) p;
|
98
|
-
mCurStack--;
|
99
|
-
}
|
100
|
-
|
101
|
-
void clear()
|
102
|
-
{
|
103
|
-
mPoolStack[0] = mHeap;
|
104
|
-
mCurStack = 0;
|
105
|
-
}
|
106
|
-
|
107
|
-
// void printStack()
|
108
|
-
// {
|
109
|
-
// for(unsigned int i=0;i<=mCurStack;i++) {
|
110
|
-
// PRINTF("memStack %2d 0x%x\n",i,(uint32_t)mPoolStack[i]);
|
111
|
-
// }
|
112
|
-
// }
|
113
|
-
|
114
|
-
};
|
115
|
-
|
116
|
-
#endif //BT_HEAP_MANAGER_H__
|
117
|
-
|
@@ -1,99 +0,0 @@
|
|
1
|
-
#ifndef BT_TYPE_DEFINITIONS_H
|
2
|
-
#define BT_TYPE_DEFINITIONS_H
|
3
|
-
|
4
|
-
///This file provides some platform/compiler checks for common definitions
|
5
|
-
#include "LinearMath/btScalar.h"
|
6
|
-
#include "LinearMath/btMinMax.h"
|
7
|
-
|
8
|
-
#ifdef PFX_USE_FREE_VECTORMATH
|
9
|
-
#include "physics_effects/base_level/base/pfx_vectormath_include.win32.h"
|
10
|
-
typedef Vectormath::Aos::Vector3 vmVector3;
|
11
|
-
typedef Vectormath::Aos::Quat vmQuat;
|
12
|
-
typedef Vectormath::Aos::Matrix3 vmMatrix3;
|
13
|
-
typedef Vectormath::Aos::Transform3 vmTransform3;
|
14
|
-
typedef Vectormath::Aos::Point3 vmPoint3;
|
15
|
-
#else
|
16
|
-
#include "vectormath/vmInclude.h"
|
17
|
-
#endif//PFX_USE_FREE_VECTORMATH
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
#ifdef _WIN32
|
24
|
-
|
25
|
-
typedef union
|
26
|
-
{
|
27
|
-
unsigned int u;
|
28
|
-
void *p;
|
29
|
-
} addr64;
|
30
|
-
|
31
|
-
#define USE_WIN32_THREADING 1
|
32
|
-
|
33
|
-
#if defined(__MINGW32__) || defined(__CYGWIN__) || (defined (_MSC_VER) && _MSC_VER < 1300)
|
34
|
-
#else
|
35
|
-
#endif //__MINGW32__
|
36
|
-
|
37
|
-
typedef unsigned char uint8_t;
|
38
|
-
#ifndef __PHYSICS_COMMON_H__
|
39
|
-
#ifndef PFX_USE_FREE_VECTORMATH
|
40
|
-
#ifndef __BT_SKIP_UINT64_H
|
41
|
-
typedef unsigned long int uint64_t;
|
42
|
-
#endif //__BT_SKIP_UINT64_H
|
43
|
-
#endif //PFX_USE_FREE_VECTORMATH
|
44
|
-
typedef unsigned int uint32_t;
|
45
|
-
#endif //__PHYSICS_COMMON_H__
|
46
|
-
typedef unsigned short uint16_t;
|
47
|
-
|
48
|
-
#include <malloc.h>
|
49
|
-
#define memalign(alignment, size) malloc(size);
|
50
|
-
|
51
|
-
#include <string.h> //memcpy
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
#include <stdio.h>
|
56
|
-
#define spu_printf printf
|
57
|
-
|
58
|
-
#else
|
59
|
-
#include <stdint.h>
|
60
|
-
#include <stdlib.h>
|
61
|
-
#include <string.h> //for memcpy
|
62
|
-
|
63
|
-
#if defined (__CELLOS_LV2__)
|
64
|
-
// Playstation 3 Cell SDK
|
65
|
-
#include <spu_printf.h>
|
66
|
-
|
67
|
-
#else
|
68
|
-
// posix system
|
69
|
-
|
70
|
-
#define USE_PTHREADS (1)
|
71
|
-
|
72
|
-
#ifdef USE_LIBSPE2
|
73
|
-
#include <stdio.h>
|
74
|
-
#define spu_printf printf
|
75
|
-
#define DWORD unsigned int
|
76
|
-
typedef union
|
77
|
-
{
|
78
|
-
unsigned long long ull;
|
79
|
-
unsigned int ui[2];
|
80
|
-
void *p;
|
81
|
-
} addr64;
|
82
|
-
#endif // USE_LIBSPE2
|
83
|
-
|
84
|
-
#endif //__CELLOS_LV2__
|
85
|
-
|
86
|
-
#endif
|
87
|
-
|
88
|
-
#ifdef __SPU__
|
89
|
-
#include <stdio.h>
|
90
|
-
#define printf spu_printf
|
91
|
-
#endif
|
92
|
-
|
93
|
-
/* Included here because we need uint*_t typedefs */
|
94
|
-
#include "PpuAddressSpace.h"
|
95
|
-
|
96
|
-
#endif //BT_TYPE_DEFINITIONS_H
|
97
|
-
|
98
|
-
|
99
|
-
|
@@ -1,142 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
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_POSIX_THREAD_SUPPORT_H
|
17
|
-
#define BT_POSIX_THREAD_SUPPORT_H
|
18
|
-
|
19
|
-
|
20
|
-
#include "LinearMath/btScalar.h"
|
21
|
-
#include "PlatformDefinitions.h"
|
22
|
-
|
23
|
-
#ifdef USE_PTHREADS //platform specifc defines are defined in PlatformDefinitions.h
|
24
|
-
|
25
|
-
#ifndef _XOPEN_SOURCE
|
26
|
-
#define _XOPEN_SOURCE 600 //for definition of pthread_barrier_t, see http://pages.cs.wisc.edu/~travitch/pthreads_primer.html
|
27
|
-
#endif //_XOPEN_SOURCE
|
28
|
-
#include <pthread.h>
|
29
|
-
#include <semaphore.h>
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
#include "LinearMath/btAlignedObjectArray.h"
|
34
|
-
|
35
|
-
#include "btThreadSupportInterface.h"
|
36
|
-
|
37
|
-
|
38
|
-
typedef void (*PosixThreadFunc)(void* userPtr,void* lsMemory);
|
39
|
-
typedef void* (*PosixlsMemorySetupFunc)();
|
40
|
-
|
41
|
-
// PosixThreadSupport helps to initialize/shutdown libspe2, start/stop SPU tasks and communication
|
42
|
-
class PosixThreadSupport : public btThreadSupportInterface
|
43
|
-
{
|
44
|
-
public:
|
45
|
-
typedef enum sStatus {
|
46
|
-
STATUS_BUSY,
|
47
|
-
STATUS_READY,
|
48
|
-
STATUS_FINISHED
|
49
|
-
} Status;
|
50
|
-
|
51
|
-
// placeholder, until libspe2 support is there
|
52
|
-
struct btSpuStatus
|
53
|
-
{
|
54
|
-
uint32_t m_taskId;
|
55
|
-
uint32_t m_commandId;
|
56
|
-
uint32_t m_status;
|
57
|
-
|
58
|
-
PosixThreadFunc m_userThreadFunc;
|
59
|
-
void* m_userPtr; //for taskDesc etc
|
60
|
-
void* m_lsMemory; //initialized using PosixLocalStoreMemorySetupFunc
|
61
|
-
|
62
|
-
pthread_t thread;
|
63
|
-
sem_t* startSemaphore;
|
64
|
-
|
65
|
-
unsigned long threadUsed;
|
66
|
-
};
|
67
|
-
private:
|
68
|
-
|
69
|
-
btAlignedObjectArray<btSpuStatus> m_activeSpuStatus;
|
70
|
-
public:
|
71
|
-
///Setup and initialize SPU/CELL/Libspe2
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
struct ThreadConstructionInfo
|
76
|
-
{
|
77
|
-
ThreadConstructionInfo(const char* uniqueName,
|
78
|
-
PosixThreadFunc userThreadFunc,
|
79
|
-
PosixlsMemorySetupFunc lsMemoryFunc,
|
80
|
-
int numThreads=1,
|
81
|
-
int threadStackSize=65535
|
82
|
-
)
|
83
|
-
:m_uniqueName(uniqueName),
|
84
|
-
m_userThreadFunc(userThreadFunc),
|
85
|
-
m_lsMemoryFunc(lsMemoryFunc),
|
86
|
-
m_numThreads(numThreads),
|
87
|
-
m_threadStackSize(threadStackSize)
|
88
|
-
{
|
89
|
-
|
90
|
-
}
|
91
|
-
|
92
|
-
const char* m_uniqueName;
|
93
|
-
PosixThreadFunc m_userThreadFunc;
|
94
|
-
PosixlsMemorySetupFunc m_lsMemoryFunc;
|
95
|
-
int m_numThreads;
|
96
|
-
int m_threadStackSize;
|
97
|
-
|
98
|
-
};
|
99
|
-
|
100
|
-
PosixThreadSupport(ThreadConstructionInfo& threadConstructionInfo);
|
101
|
-
|
102
|
-
///cleanup/shutdown Libspe2
|
103
|
-
virtual ~PosixThreadSupport();
|
104
|
-
|
105
|
-
void startThreads(ThreadConstructionInfo& threadInfo);
|
106
|
-
|
107
|
-
|
108
|
-
///send messages to SPUs
|
109
|
-
virtual void sendRequest(uint32_t uiCommand, ppu_address_t uiArgument0, uint32_t uiArgument1);
|
110
|
-
|
111
|
-
///check for messages from SPUs
|
112
|
-
virtual void waitForResponse(unsigned int *puiArgument0, unsigned int *puiArgument1);
|
113
|
-
|
114
|
-
///start the spus (can be called at the beginning of each frame, to make sure that the right SPU program is loaded)
|
115
|
-
virtual void startSPU();
|
116
|
-
|
117
|
-
///tell the task scheduler we are done with the SPU tasks
|
118
|
-
virtual void stopSPU();
|
119
|
-
|
120
|
-
virtual void setNumTasks(int numTasks) {}
|
121
|
-
|
122
|
-
virtual int getNumTasks() const
|
123
|
-
{
|
124
|
-
return m_activeSpuStatus.size();
|
125
|
-
}
|
126
|
-
|
127
|
-
virtual btBarrier* createBarrier();
|
128
|
-
|
129
|
-
virtual btCriticalSection* createCriticalSection();
|
130
|
-
|
131
|
-
virtual void* getThreadLocalMemory(int taskId)
|
132
|
-
{
|
133
|
-
return m_activeSpuStatus[taskId].m_lsMemory;
|
134
|
-
}
|
135
|
-
|
136
|
-
};
|
137
|
-
|
138
|
-
#endif // USE_PTHREADS
|
139
|
-
|
140
|
-
#endif // BT_POSIX_THREAD_SUPPORT_H
|
141
|
-
|
142
|
-
|
@@ -1,37 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2010 Erwin Coumans http://bulletphysics.org
|
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
|
-
#ifndef BT_PPU_ADDRESS_SPACE_H
|
18
|
-
#define BT_PPU_ADDRESS_SPACE_H
|
19
|
-
|
20
|
-
|
21
|
-
#ifdef _WIN32
|
22
|
-
//stop those casting warnings until we have a better solution for ppu_address_t / void* / uint64 conversions
|
23
|
-
#pragma warning (disable: 4311)
|
24
|
-
#pragma warning (disable: 4312)
|
25
|
-
#endif //_WIN32
|
26
|
-
|
27
|
-
|
28
|
-
#if defined(_WIN64)
|
29
|
-
typedef unsigned __int64 ppu_address_t;
|
30
|
-
#elif defined(__LP64__) || defined(__x86_64__)
|
31
|
-
typedef uint64_t ppu_address_t;
|
32
|
-
#else
|
33
|
-
typedef uint32_t ppu_address_t;
|
34
|
-
#endif //defined(_WIN64)
|
35
|
-
|
36
|
-
#endif //BT_PPU_ADDRESS_SPACE_H
|
37
|
-
|
@@ -1,96 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
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 "LinearMath/btScalar.h"
|
17
|
-
#include "PlatformDefinitions.h"
|
18
|
-
|
19
|
-
|
20
|
-
#ifndef BT_SEQUENTIAL_THREAD_SUPPORT_H
|
21
|
-
#define BT_SEQUENTIAL_THREAD_SUPPORT_H
|
22
|
-
|
23
|
-
#include "LinearMath/btAlignedObjectArray.h"
|
24
|
-
|
25
|
-
#include "btThreadSupportInterface.h"
|
26
|
-
|
27
|
-
typedef void (*SequentialThreadFunc)(void* userPtr,void* lsMemory);
|
28
|
-
typedef void* (*SequentiallsMemorySetupFunc)();
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
///The SequentialThreadSupport is a portable non-parallel implementation of the btThreadSupportInterface
|
33
|
-
///This is useful for debugging and porting SPU Tasks to other platforms.
|
34
|
-
class SequentialThreadSupport : public btThreadSupportInterface
|
35
|
-
{
|
36
|
-
public:
|
37
|
-
struct btSpuStatus
|
38
|
-
{
|
39
|
-
uint32_t m_taskId;
|
40
|
-
uint32_t m_commandId;
|
41
|
-
uint32_t m_status;
|
42
|
-
|
43
|
-
SequentialThreadFunc m_userThreadFunc;
|
44
|
-
|
45
|
-
void* m_userPtr; //for taskDesc etc
|
46
|
-
void* m_lsMemory; //initialized using SequentiallsMemorySetupFunc
|
47
|
-
};
|
48
|
-
private:
|
49
|
-
btAlignedObjectArray<btSpuStatus> m_activeSpuStatus;
|
50
|
-
btAlignedObjectArray<void*> m_completeHandles;
|
51
|
-
public:
|
52
|
-
struct SequentialThreadConstructionInfo
|
53
|
-
{
|
54
|
-
SequentialThreadConstructionInfo (const char* uniqueName,
|
55
|
-
SequentialThreadFunc userThreadFunc,
|
56
|
-
SequentiallsMemorySetupFunc lsMemoryFunc
|
57
|
-
)
|
58
|
-
:m_uniqueName(uniqueName),
|
59
|
-
m_userThreadFunc(userThreadFunc),
|
60
|
-
m_lsMemoryFunc(lsMemoryFunc)
|
61
|
-
{
|
62
|
-
|
63
|
-
}
|
64
|
-
|
65
|
-
const char* m_uniqueName;
|
66
|
-
SequentialThreadFunc m_userThreadFunc;
|
67
|
-
SequentiallsMemorySetupFunc m_lsMemoryFunc;
|
68
|
-
};
|
69
|
-
|
70
|
-
SequentialThreadSupport(SequentialThreadConstructionInfo& threadConstructionInfo);
|
71
|
-
virtual ~SequentialThreadSupport();
|
72
|
-
void startThreads(SequentialThreadConstructionInfo& threadInfo);
|
73
|
-
///send messages to SPUs
|
74
|
-
virtual void sendRequest(uint32_t uiCommand, ppu_address_t uiArgument0, uint32_t uiArgument1);
|
75
|
-
///check for messages from SPUs
|
76
|
-
virtual void waitForResponse(unsigned int *puiArgument0, unsigned int *puiArgument1);
|
77
|
-
///start the spus (can be called at the beginning of each frame, to make sure that the right SPU program is loaded)
|
78
|
-
virtual void startSPU();
|
79
|
-
///tell the task scheduler we are done with the SPU tasks
|
80
|
-
virtual void stopSPU();
|
81
|
-
|
82
|
-
virtual void setNumTasks(int numTasks);
|
83
|
-
|
84
|
-
virtual int getNumTasks() const
|
85
|
-
{
|
86
|
-
return 1;
|
87
|
-
}
|
88
|
-
virtual btBarrier* createBarrier();
|
89
|
-
|
90
|
-
virtual btCriticalSection* createCriticalSection();
|
91
|
-
|
92
|
-
|
93
|
-
};
|
94
|
-
|
95
|
-
#endif //BT_SEQUENTIAL_THREAD_SUPPORT_H
|
96
|
-
|
@@ -1,40 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
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_SPU_COLLISION_OBJECT_WRAPPER_H
|
17
|
-
#define BT_SPU_COLLISION_OBJECT_WRAPPER_H
|
18
|
-
|
19
|
-
#include "PlatformDefinitions.h"
|
20
|
-
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
|
21
|
-
|
22
|
-
ATTRIBUTE_ALIGNED16(class) SpuCollisionObjectWrapper
|
23
|
-
{
|
24
|
-
protected:
|
25
|
-
int m_shapeType;
|
26
|
-
float m_margin;
|
27
|
-
ppu_address_t m_collisionObjectPtr;
|
28
|
-
|
29
|
-
public:
|
30
|
-
SpuCollisionObjectWrapper ();
|
31
|
-
|
32
|
-
SpuCollisionObjectWrapper (const btCollisionObject* collisionObject);
|
33
|
-
|
34
|
-
int getShapeType () const;
|
35
|
-
float getCollisionMargin () const;
|
36
|
-
ppu_address_t getCollisionObjectPtr () const;
|
37
|
-
};
|
38
|
-
|
39
|
-
|
40
|
-
#endif //BT_SPU_COLLISION_OBJECT_WRAPPER_H
|
@@ -1,163 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
|
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_SPU_COLLISION_TASK_PROCESS_H
|
17
|
-
#define BT_SPU_COLLISION_TASK_PROCESS_H
|
18
|
-
|
19
|
-
#include <assert.h>
|
20
|
-
|
21
|
-
#include "LinearMath/btScalar.h"
|
22
|
-
|
23
|
-
#include "PlatformDefinitions.h"
|
24
|
-
#include "LinearMath/btAlignedObjectArray.h"
|
25
|
-
#include "SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h" // for definitions processCollisionTask and createCollisionLocalStoreMemory
|
26
|
-
|
27
|
-
#include "btThreadSupportInterface.h"
|
28
|
-
|
29
|
-
|
30
|
-
//#include "SPUAssert.h"
|
31
|
-
#include <string.h>
|
32
|
-
|
33
|
-
|
34
|
-
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
|
35
|
-
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
|
36
|
-
#include "BulletCollision/CollisionShapes/btConvexShape.h"
|
37
|
-
|
38
|
-
#include "LinearMath/btAlignedAllocator.h"
|
39
|
-
|
40
|
-
#include <stdio.h>
|
41
|
-
|
42
|
-
|
43
|
-
#define DEBUG_SpuCollisionTaskProcess 1
|
44
|
-
|
45
|
-
|
46
|
-
#define CMD_GATHER_AND_PROCESS_PAIRLIST 1
|
47
|
-
|
48
|
-
class btCollisionObject;
|
49
|
-
class btPersistentManifold;
|
50
|
-
class btDispatcher;
|
51
|
-
|
52
|
-
|
53
|
-
/////Task Description for SPU collision detection
|
54
|
-
//struct SpuGatherAndProcessPairsTaskDesc
|
55
|
-
//{
|
56
|
-
// uint64_t inPtr;//m_pairArrayPtr;
|
57
|
-
// //mutex variable
|
58
|
-
// uint32_t m_someMutexVariableInMainMemory;
|
59
|
-
//
|
60
|
-
// uint64_t m_dispatcher;
|
61
|
-
//
|
62
|
-
// uint32_t numOnLastPage;
|
63
|
-
//
|
64
|
-
// uint16_t numPages;
|
65
|
-
// uint16_t taskId;
|
66
|
-
//
|
67
|
-
// struct CollisionTask_LocalStoreMemory* m_lsMemory;
|
68
|
-
//}
|
69
|
-
//
|
70
|
-
//#if defined(__CELLOS_LV2__) || defined(USE_LIBSPE2)
|
71
|
-
//__attribute__ ((aligned (16)))
|
72
|
-
//#endif
|
73
|
-
//;
|
74
|
-
|
75
|
-
|
76
|
-
///MidphaseWorkUnitInput stores individual primitive versus mesh collision detection input, to be processed by the SPU.
|
77
|
-
ATTRIBUTE_ALIGNED16(struct) SpuGatherAndProcessWorkUnitInput
|
78
|
-
{
|
79
|
-
uint64_t m_pairArrayPtr;
|
80
|
-
int m_startIndex;
|
81
|
-
int m_endIndex;
|
82
|
-
};
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
/// SpuCollisionTaskProcess handles SPU processing of collision pairs.
|
88
|
-
/// Maintains a set of task buffers.
|
89
|
-
/// When the task is full, the task is issued for SPUs to process. Contact output goes into btPersistentManifold
|
90
|
-
/// associated with each task.
|
91
|
-
/// When PPU issues a task, it will look for completed task buffers
|
92
|
-
/// PPU will do postprocessing, dependent on workunit output (not likely)
|
93
|
-
class SpuCollisionTaskProcess
|
94
|
-
{
|
95
|
-
|
96
|
-
unsigned char *m_workUnitTaskBuffers;
|
97
|
-
|
98
|
-
|
99
|
-
// track task buffers that are being used, and total busy tasks
|
100
|
-
btAlignedObjectArray<bool> m_taskBusy;
|
101
|
-
btAlignedObjectArray<SpuGatherAndProcessPairsTaskDesc> m_spuGatherTaskDesc;
|
102
|
-
|
103
|
-
class btThreadSupportInterface* m_threadInterface;
|
104
|
-
|
105
|
-
unsigned int m_maxNumOutstandingTasks;
|
106
|
-
|
107
|
-
unsigned int m_numBusyTasks;
|
108
|
-
|
109
|
-
// the current task and the current entry to insert a new work unit
|
110
|
-
unsigned int m_currentTask;
|
111
|
-
unsigned int m_currentPage;
|
112
|
-
unsigned int m_currentPageEntry;
|
113
|
-
|
114
|
-
bool m_useEpa;
|
115
|
-
|
116
|
-
#ifdef DEBUG_SpuCollisionTaskProcess
|
117
|
-
bool m_initialized;
|
118
|
-
#endif
|
119
|
-
void issueTask2();
|
120
|
-
//void postProcess(unsigned int taskId, int outputSize);
|
121
|
-
|
122
|
-
public:
|
123
|
-
SpuCollisionTaskProcess(btThreadSupportInterface* threadInterface, unsigned int maxNumOutstandingTasks);
|
124
|
-
|
125
|
-
~SpuCollisionTaskProcess();
|
126
|
-
|
127
|
-
///call initialize in the beginning of the frame, before addCollisionPairToTask
|
128
|
-
void initialize2(bool useEpa = false);
|
129
|
-
|
130
|
-
///batch up additional work to a current task for SPU processing. When batch is full, it issues the task.
|
131
|
-
void addWorkToTask(void* pairArrayPtr,int startIndex,int endIndex);
|
132
|
-
|
133
|
-
///call flush to submit potential outstanding work to SPUs and wait for all involved SPUs to be finished
|
134
|
-
void flush2();
|
135
|
-
|
136
|
-
/// set the maximum number of SPU tasks allocated
|
137
|
-
void setNumTasks(int maxNumTasks);
|
138
|
-
|
139
|
-
int getNumTasks() const
|
140
|
-
{
|
141
|
-
return m_maxNumOutstandingTasks;
|
142
|
-
}
|
143
|
-
};
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
#define MIDPHASE_TASK_PTR(task) (&m_workUnitTaskBuffers[0] + MIDPHASE_WORKUNIT_TASK_SIZE*task)
|
148
|
-
#define MIDPHASE_ENTRY_PTR(task,page,entry) (MIDPHASE_TASK_PTR(task) + MIDPHASE_WORKUNIT_PAGE_SIZE*page + sizeof(SpuGatherAndProcessWorkUnitInput)*entry)
|
149
|
-
#define MIDPHASE_OUTPUT_PTR(task) (&m_contactOutputBuffers[0] + MIDPHASE_MAX_CONTACT_BUFFER_SIZE*task)
|
150
|
-
#define MIDPHASE_TREENODES_PTR(task) (&m_complexShapeBuffers[0] + MIDPHASE_COMPLEX_SHAPE_BUFFER_SIZE*task)
|
151
|
-
|
152
|
-
|
153
|
-
#define MIDPHASE_WORKUNIT_PAGE_SIZE (16)
|
154
|
-
//#define MIDPHASE_WORKUNIT_PAGE_SIZE (128)
|
155
|
-
|
156
|
-
#define MIDPHASE_NUM_WORKUNIT_PAGES 1
|
157
|
-
#define MIDPHASE_WORKUNIT_TASK_SIZE (MIDPHASE_WORKUNIT_PAGE_SIZE*MIDPHASE_NUM_WORKUNIT_PAGES)
|
158
|
-
#define MIDPHASE_NUM_WORKUNITS_PER_PAGE (MIDPHASE_WORKUNIT_PAGE_SIZE / sizeof(SpuGatherAndProcessWorkUnitInput))
|
159
|
-
#define MIDPHASE_NUM_WORKUNITS_PER_TASK (MIDPHASE_NUM_WORKUNITS_PER_PAGE*MIDPHASE_NUM_WORKUNIT_PAGES)
|
160
|
-
|
161
|
-
|
162
|
-
#endif // BT_SPU_COLLISION_TASK_PROCESS_H
|
163
|
-
|