Commit Graph
100 Commits
Author SHA1 Message Date
erwin.coumans 108c88af41 Applied Cmakelist patch, adding Apple Framework support
Disable libxml LIBXML_MODULE_EXTENSION
Fixed include path in btConeTwistConstraint (it should be relative to src folder, not using ../../ )
Thanks to ejtttje, http://code.google.com/p/bullet/issues/detail?id=129
2008-11-06 06:02:38 +00:00
erwin.coumans 8318005e75 use Release config by default for CMAke, not Debug 2008-11-05 06:09:00 +00:00
erwin.coumans d25d264e77 Improved CharacterDemo/KinematicCharacterController, dynamic objects will bounce off.
Don't create a todo list for doxygen by default (the chaotic todo's would confuse most developers)
Improve support for small objects, by having dynamic contact breaking thresholds. Still needs small internal timestep and some GJK improvements.
2008-11-05 03:28:10 +00:00
erwin.coumans f964c2f644 fix Cmake build files (CMakeList.txt) so it works with Cmake 2.4 again (only INSTALL feature requires Cmake 2.6) 2008-11-05 02:34:01 +00:00
erwin.coumans 8e0ee0ad74 Removed assert from rigidbody::setLinearVelocity/rigidbody::setAngularVelocity -> it can be useful for special effects. 2008-11-04 21:18:43 +00:00
erwin.coumans ff29cb5008 reduce the number of dynamic memory allocations again (using a persistentStack version in btDbvt) 2008-11-04 18:02:41 +00:00
erwin.coumans 807e979597 missed a local stack in btDbvt 2008-11-04 17:54:41 +00:00
erwin.coumans ef7d5e462d added TARGET_LINK_LIBRARIES, although commented-out (it might help others who want to enable shared libraries)
http://code.google.com/p/bullet/issues/detail?id=97&can=1
2008-11-04 10:49:02 +00:00
erwin.coumans 325fc0bab0 Improve CMake support:
Add CMake install support for libbulletmath,libbulletcollision,libbulletdynamics,libbulletsoftbody,and toplevel include files
Options to enable/disable BUILD_DEMOS and BUILD_ETRAS

Fixed compile issue in BulletMultiThreaded
Fixed double-precision issues with btMatrix3x3::getEulerZYX
2008-11-04 10:36:27 +00:00
erwin.coumans ccc63bbce7 added getEulerZYX, thanks to Tully.Foote
http://code.google.com/p/bullet/issues/detail?id=124
fixed a few warnings (in double-precision mode)
2008-11-04 09:48:42 +00:00
erwin.coumans ee380bcd09 Added CUSTOM_POLYHEDRAL_SHAPE_TYPE,CUSTOM_CONVEX_SHAPE_TYPE and CUSTOM_CONCAVE_SHAPE_TYPE to be used to extend Bullet by custom shapes without modifying source code.
Thanks to Ole K. for the suggestion:
http://code.google.com/p/bullet/issues/detail?id=125
2008-11-04 09:43:34 +00:00
erwin.coumans 8e51049359 Added btAxisSweep3::resetPool, to avoid non-determinism due to unsorted linked-list, thanks to Ole K., See http://code.google.com/p/bullet/issues/detail?id=126
Fixed recently introduced issue: can't re-use stack as member variable (to reduce memory allocs) in btDbvt, due to recursion.
remove btGjkEpa.* from Makefile.am, Makefile and CMakeLists.txt
avoid division-by-zero in ODE boxbox contact reduction
2008-11-04 09:37:31 +00:00
erwin.coumans 4df7c841a3 removed obsolete btPoint3 and btGjkEpa from projectfiles
bumped up version to Bullet 2.73
2008-11-04 04:13:26 +00:00
erwin.coumans bcd0f48c28 some doxygen updates, added some comments to classes, fix broken links, rename some prefix some internal GIMPACT collision structures using (for example use GIM_AABB instead of BT_AAABB),
removed obsolete btGjkEpa (it was replaced by btGjkEpa2 ages ago)
2008-11-04 04:01:31 +00:00
erwin.coumans 2b21eb5605 EmptyGL is an empty implementation to allow to compile and run the Bullet demos on platforms that lack OpenGL and Glut. 2008-11-04 03:31:21 +00:00
erwin.coumans 8f181b5604 more work on IBM Cell SDK 3.1 build 2008-11-02 10:34:24 +00:00
erwin.coumans c34a4a0f71 some fixes for IBM Cell SDK 3.1 build
to build, go to Bullet/src/ibm_sdk and run make
then, go to Bullet/src/BulletMultiThreaded/ibm_sdk
make -f Makefile.original spu
make -f Makefile.original ppu
2008-11-02 09:46:35 +00:00
erwin.coumans 461602a5f2 minor issue with btAssert under Cell 2008-11-01 02:22:02 +00:00
erwin.coumans a637a8c231 test10
http://groups.google.com/group/tortoisesvn/browse_thread/thread/8f6c2c999cce861f
2008-10-31 21:17:39 +00:00
erwin.coumans 6449438ef2 test9 2008-10-31 21:02:48 +00:00
erwin.coumans 632c3ca11f test3 2008-10-31 20:56:07 +00:00
erwin.coumans da35b69e6d test2 2008-10-31 20:54:57 +00:00
erwin.coumans ed8f568721 test commit following this discussion
http://groups.google.com/group/tortoisesvn/browse_thread/thread/8f6c2c999cce861f
2008-10-31 20:21:55 +00:00
erwin.coumans 4a9d60853f test 2008-10-31 02:01:39 +00:00
erwin.coumans 434ea22868 added src folder, due to btAlignedObjectArray dependency (removed STL)
Thanks to slackydeb for the report here:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2787
2008-10-31 01:28:13 +00:00
erwin.coumans 3b5d21ab50 added src folder, due to btAlignedObjectArray dependency (removed STL)
Thanks to slackydeb for the report here:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2787
2008-10-31 01:23:53 +00:00
erwin.coumans f49e44b13c Don't search for duplicate vertices by default in btTriangleMesh, it is just too slow.
See http://code.google.com/p/bullet/issues/detail?id=122
2008-10-30 22:09:04 +00:00
erwin.coumans badd638901 added directory to Makefile.am, bumbed up version to 273 2008-10-29 18:39:58 +00:00
erwin.coumans 2a871176d4 fix broken OS X build 2008-10-29 07:01:56 +00:00
erwin.coumans 487cc1cdf1 avoid a lot of dynamic allocations in btDbvt/btSoftBody (re-use stack)
add Maya 2009 to Dynamica msvc projectfiles
2008-10-29 06:27:40 +00:00
erwin.coumans 50930cec5c Some performance improvements and fixes related to btVector3 being aligned on SPU.
btQuantizedBvh has a version number, memory layout might be different now (due to aligned btVector3)
reorganized some data members of some classes, to reduce memory footprint
2008-10-29 02:45:43 +00:00
erwin.coumans aeb48644ee Some performance improvements and fixes related to btVector3 being aligned on SPU.
btQuantizedBvh has a version number, memory layout might be different now (due to aligned btVector3)
reorganized some data members of some classes, to reduce memory footprint
2008-10-29 02:45:16 +00:00
erwin.coumans b18aa2b375 Some performance improvements and fixes related to btVector3 being aligned on SPU.
btQuantizedBvh has a version number, memory layout might be different now (due to aligned btVector3)
reorganized some data members of some classes, to reduce memory footprint
2008-10-29 02:45:07 +00:00
erwin.coumans 55b29e2355 Some performance improvements and fixes related to btVector3 being aligned on SPU.
btQuantizedBvh has a version number, memory layout might be different now (due to aligned btVector3)
reorganized some data members of some classes, to reduce memory footprint
2008-10-29 02:44:50 +00:00
erwin.coumans ce5df7cf47 pass vectors by reference 2008-10-29 02:41:08 +00:00
erwin.coumans f5e16847df added btMatrix3x3::getEulerYPR, which is consistent with updated setEulerYPR.
removed unused getEuler.
Thanks to Georg Wuensch, see http://code.google.com/p/bullet/issues/detail?id=104
2008-10-28 19:26:49 +00:00
erwin.coumans 28e580c203 removed STL usage of Extras/ConvexBuilder and replaced by btAlignedObjectArray
fixed several warnings, thanks to sparkprime
added comments patch for linear math, thanks to Tully Foote
2008-10-28 18:52:46 +00:00
erwin.coumans c5112e68e5 make sure the btDbvtBroadphase doesn't add/remove any pairs, use the btNullPairCache 2008-10-28 05:51:32 +00:00
erwin.coumans 1ff6420ffb Use the add support for double and float triangle vertices. If it has a bad impact on performance, we can hide it behind an #ifdef for double precision vertex support.
Fix btConvexTriangleMeshShape::calculatePrincipalAxisTransform
Both thanks to Ole.

Use our own union to extract a scalar value from an SSE intrinsic (instead of relying on MSVC-only m128_u32
Thanks to BlindSide
2008-10-27 21:36:36 +00:00
erwin.coumans 876009b053 fix two memory leaks, thanks to Benoit and Ole. 2008-10-27 20:24:01 +00:00
erwin.coumans 003b6fa669 removed some warnings, as reported here:
http://code.google.com/p/bullet/issues/detail?id=123
Thanks sparkprime
2008-10-27 20:20:28 +00:00
erwin.coumans 6ed11057e0 add empty 'processAllTriangles' for btEmptyShape, thanks to Ole K.
http://code.google.com/p/bullet/issues/detail?id=120
2008-10-27 20:08:21 +00:00
erwin.coumans 6f28170422 Removed obsolete btPoint3: use btVector3 instead 2008-10-27 19:56:48 +00:00
erwin.coumans 52a151f5e4 new auto-generated projectfiles for proper dependencies for appIffCheck -> iffLib 2008-10-27 01:57:34 +00:00
erwin.coumans 44b44429fa fixed minor build issues for IFF lib 2008-10-27 01:56:10 +00:00
erwin.coumans 94fc0ff063 added autogenerated MSVC projectfiles for libiff and appiffCheck 2008-10-27 00:27:52 +00:00
erwin.coumans ffcfd84fc8 added build files for iff library (binary Interchange File Format) 2008-10-27 00:22:35 +00:00
erwin.coumans 82448a3942 minor IFF.h changes to migrate from .c to .cpp 2008-10-27 00:05:32 +00:00
erwin.coumans 14ba3eaff7 rename from .c to .cpp, and updated 23 year old IFF source code (1985) 2008-10-26 23:47:35 +00:00
erwin.coumans 2a721c7489 Updated original EA-IFF-85 files to read and write Interchange File Format files.
Plan is to convert COLLADA XML into IFF, for faster, more compact and easier to read and parse files.
Reading/writing code is a few hundred lines of code, instead of COLLADA-DOM and libxml combo.
So it would be suitable as a run-time format for platforms ranging from iPhone to PlayStation 3.
Relevant physics data (and perhaps other data) will be converted from COLLADA -> IFF. 
We could call the resulting files COLLADA binary IFF -> CLIFF.
2008-10-26 23:04:43 +00:00
erwin.coumans 92c69ddefa added missing files to build systems for CMake and Automake (Makefile.am still needs to add additional include directory for BulletMultiThreaded, for vectormath) 2008-10-21 19:06:29 +00:00
erwin.coumans a05ae6e715 added src/BulletMultiThreaded/vectormath/scalar/cpp to include path for BulletMultiThreaded module 2008-10-21 19:05:50 +00:00
erwin.coumans 0d911a6c06 added missing vectormath <-> Bullet conversion file 2008-10-21 18:32:21 +00:00
erwin.coumans c508711108 remove GIMPACT and added new dNailConstraint files to Dynamica Maya plugin projectfile 2008-10-21 04:35:30 +00:00
erwin.coumans e6202f58ad 1)Added SCE Physics Effects boxBoxDistance
BulletMultiThreaded/NarrowPhaseCollision makes use of this boxBoxDistance.
Cache some values in src/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.cpp, to avoid DMA transfers

2) Added btConvexSeparatingDistanceUtil: this allows caching of separating distance/vector as early-out to avoid convex-convex collision detection.
btConvexSeparatingDistanceUtil is used in src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp and can be controlled by btDispatcherInfo.m_useConvexConservativeDistanceUtil/m_convexConservativeDistanceThreshold

3) Use BulletMultiThreaded/vectormath/scalar/cpp/vectormath/scalar/cpp/vectormath_aos.h as fallback for non-PlayStation 3 Cell SPU/PPU platforms (used by boxBoxDistance).
Note there are other implementations in Extras/vectormath folder, that are potentially faster for IBM Cell SDK 3.0 SPU (libspe2)
2008-10-20 20:12:39 +00:00
erwin.coumans c986721fb6 Added btGhostObject to projectfiles
btGhostObject can be used for character control, fast short-ray tests, explosions, collision trigger zones etc
See Demos/CharacterDemo/KinematicCharacterController.* for example use. We add some explosion demo before next release.
2008-10-18 05:29:31 +00:00
erwin.coumans 4cbb3f2e7b Added btGhostObject and btPairCachingGhostObject functionality.
It is a fast way to keep track of overlapping objects in an area, and doing rayTest and convexSweepTest for overlapping objects, instead of btCollisionWorld::rayTest/convexSweepTest.

Updated KinematicCharacterController to use btPairCachingGhostObject.
2008-10-18 01:33:23 +00:00
erwin.coumans b48d05d52a Preliminary adding btGhostObject.
It can be useful for collision sensors, explosion objects, character controller etc.

Similar to Havok phantom object.
2008-10-16 22:29:38 +00:00
erwin.coumans b32a0e3491 Removed ray-AABB slopes code again, we are not using it and it is archived in Subversion repo now. 2008-10-16 20:19:01 +00:00
erwin.coumans 947a44452d Removed ray-AABB slopes code again, we are not using it and it is archived in Subversion repo now. 2008-10-16 20:18:41 +00:00
erwin.coumans e627f38a28 Removed ray-AABB slopes code again, we are not using it and it is archived in Subversion repo now. 2008-10-16 20:18:23 +00:00
erwin.coumans 6fcd824524 Applied filtering flags for CCD Motion Clamping, thanks to Bbilz, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2736 2008-10-16 20:17:56 +00:00
erwin.coumans 945b299e56 some rayTest improvements in btDbvt::rayTestInternal, it avoids/reduces memory allocations during stack allocation (by sharing a persistent m_stack)
and rayTestInternal re-uses precomputed invRayDirection/signs.
also did some performance comparison with different ray-AABB test, from 
http://jgt.akpeters.com/papers/EisemannEtAl07/

In short: it is faster, but it is not clear how to cull ray segments using ray slopes: when rays starts inside the AABB, we get a negative t value, but negatives also get false t-values...
2008-10-16 20:01:02 +00:00
erwin.coumans 675c45f42d some rayTest improvements in btDbvt::rayTestInternal, it avoids/reduces memory allocations during stack allocation (by sharing a persistent m_stack)
and rayTestInternal re-uses precomputed invRayDirection/signs.
also did some performance comparison with different ray-AABB test, from 
http://jgt.akpeters.com/papers/EisemannEtAl07/

In short: it is faster, but it is not clear how to cull ray segments using ray slopes: when rays starts inside the AABB, we get a negative t value, but negatives also get false t-values...
2008-10-16 20:00:47 +00:00
erwin.coumans 60ce828419 Autoformat selection for soft body, btDbvt related classes (no code change, just layout using Visual Studio) 2008-10-15 18:39:27 +00:00
erwin.coumans cac172d422 Use consistent rayFrom/rayTo API for rayTest for btDbvt and btSoftBody, instead of rayCast/collideRAY(origin,direction). This means RayFromToCaster has a fraction [0..1] instead of distance [0..INF]
Renamed collideRay -> rayTest to reflect change to (rayFrom,rayTo) interface.
Re-use btRayAabb2 function from src/LinearMath/btAabbUtil2.h in btDbvt instead of duplicated implementation.
2008-10-15 18:30:35 +00:00
erwin.coumans 81fcd03af5 Fix BenchmarkDemo issues with double precision build 2008-10-14 20:48:05 +00:00
erwin.coumans e6c850f13b Fix/improve raycast performance for btBvhTriangleMeshShape (btQuantizedBvh, btOptimizedBvh)
Add raycast acceleration for btAxisSweep3, using btDbvtBroadphase, providing large speedup. Can be disabled in constructor to safe memory.
2008-10-14 20:24:28 +00:00
erwin.coumans fffca75e9f Make raycast benchmark default, to show improved raycasting performance.
Add rayTest to btBroadphaseInterface, and implement efficient version for btDbvtBroadphase to accelerate raycasting.
btAxisSweep3, btSimpleBroadphase and btMultiSapBroadphase implement brute-force method (as before). For now, it is recommended to use btDbvtBroadphase for fastest world raycast.
2008-10-14 06:23:45 +00:00
erwin.coumans 780350a9e1 Fix copy/paste bug, resulting in wrong friction warmstarting,
thanks to sandeep_slash, http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2724
2008-10-14 04:44:24 +00:00
erwin.coumans 919a9dcc29 Accepted CreatePatchUV contribution, thanks to mi076.
See also http://code.google.com/p/game-ws
2008-10-12 20:44:09 +00:00
erwin.coumans 4624bde28b updated autogenerated msvc projectfiles, minor fix in Gimpact/btGImpactShape.h (shapeType) and btWin32ThreadInterface. 2008-10-11 16:23:10 +00:00
erwin.coumans 9ae3c55a1c cmake build fixes for Gimpact move 2008-10-11 06:15:30 +00:00
erwin.coumans 374e97fa8b even more build system changes. 2008-10-11 06:11:26 +00:00
erwin.coumans e4ed38e7f6 more build system changes, to reflect Gimpact/BulletMultiThreaded move from Extras to src 2008-10-11 05:52:45 +00:00
erwin.coumans 22a79e61b1 updated Jamfile build system for reorganized files/folders 2008-10-11 05:23:00 +00:00
erwin.coumans b6f0434832 a few modifications to BulletMultiThreaded, add 'setNumTasks' to interface, reorganize DMA transfers to allow larger btBroadphaseProxy size 2008-10-11 00:01:08 +00:00
erwin.coumans 512c0f167e moved Extras/Gimpact to src/BulletCollision/Gimpact
moved Extras/BulletMultiThreaded to src/BulletMultiThreaded
(build systems will be updated soon)
2008-10-10 19:48:36 +00:00
erwin.coumans 6f6f88fa08 bump up version, add changelog entry for aabb/raytest improvements 2008-10-10 18:21:22 +00:00
erwin.coumans 9ad17dda22 Add aabbMin/aabbMax to broadphase proxy, and improve rayTest performance.
Todo: use broadphase acceleration structure (btDbvtBroadphase etc) for ray test
2008-10-10 17:32:52 +00:00
erwin.coumans a42b7d93f1 Stop resitution for resting contact, after n frames (can be controlled by btContactSolverInfo.m_restingContactRestitutionThreshold
Thanks Jan Bender for bringing this up
2008-10-09 16:24:00 +00:00
erwin.coumans 0508c3a5d5 Disable TEST_NON_VIRTUAL debugging for btGjkPairDetector 2008-10-08 21:00:15 +00:00
erwin.coumans 10d103b50e Disable TEST_NON_VIRTUAL debugging for btGjkPairDetector
Reverted BulletMultiThreaded, there are some performance issues to be resolved.
2008-10-08 20:59:26 +00:00
erwin.coumans 288df0df65 don't include cfloat by default, it breaks OSX and Linux build 2008-10-06 06:00:35 +00:00
erwin.coumans 2998d2a8f3 Added ReadBlend, a data extraction API for Blender's .blend files
This can come in handy, to author physics data for Bullet from Blender, and directly get the physics data straight from the .blend file

Thanks a lot to Adam D. Moss, to digg up this code and make it available under the MIT license
It was mentioned several years ago in this thread:
http://archives.seul.org/linuxgames/Apr-2005/msg00002.html
2008-10-06 03:53:51 +00:00
erwin.coumans 30a13d5b5d updated INSTALL file and btCollisionWorld doxygen, adding ./autogen.sh and make support. 2008-10-04 14:52:01 +00:00
erwin.coumans 454fc84517 updated changelog 2008-10-04 01:15:49 +00:00
erwin.coumans b281057337 made shape construction virtual, to allow destruction of memory of btCollisionShape 2008-10-04 01:11:40 +00:00
erwin.coumans 23b2767100 add support for exporting static plane shape in ColladaConverter. 2008-10-03 23:58:55 +00:00
erwin.coumans 854aaea56a renamed 'failed' into not found, to make it sound less dramatic (it continues fine). add cmake/msvc as alternative build options, at the end of configure. 2008-10-03 22:45:54 +00:00
erwin.coumans 425376a416 Update MayaPlugin projectfiles, to compile for Maya 8.5, when available. If multiple Maya versions are installed, the include path order is Maya 2008 -> 8.5 -> 8.0 2008-10-02 01:29:10 +00:00
erwin.coumans 0ca2eef022 FIX: use btScalar instead of float, otherwise double precision build breaks
FIX: make Maya plugin compile for Maya 8.0
FIX: btDbvt SSE doesn't compile for double precision builds
2008-10-02 01:17:18 +00:00
erwin.coumans c265db0007 updated auto-generated MSVC projectfiles, for new btConvexPointCloudShape 2008-10-01 23:58:22 +00:00
erwin.coumans 1800169604 add new files to CMake 2008-10-01 23:45:54 +00:00
erwin.coumans d2a282dc07 fixed issue with clamping/quantization in btAxisSweep3,
Thanks to ole.k for report and fix:  http://code.google.com/p/bullet/issues/detail?id=87
2008-09-30 20:58:03 +00:00
erwin.coumans 0ff15db3f3 + capsule should subtract margin, and take local scaling into account.
+ boxshape uses btFsels
+ add assert in btGjkPairDetector that the new non-virtual method produces the same result as old non-virtual
2008-09-30 18:37:01 +00:00
erwin.coumans 9f28b2bc12 Improve damping formula in btRigidBody::applyDamping
Thanks to sparkprime, see http://code.google.com/p/bullet/issues/detail?id=74
Fixed btCompoundShape/btCapsuleShape/btGImpactShape for missing m_shapeType, and added an assert in DemoApplication::localCreateRigidBody for invalid shape types.
2008-09-30 00:34:58 +00:00
erwin.coumans d221d3be8d Update btSoftBodyCollisionShape to set m_shapeType 2008-09-30 00:05:44 +00:00
erwin.coumans e590f4a721 fixed some outstanding issues with Bullet soft bodies:
1) re-allocate a pool allocator, if one of the soft body collision algorithms is larger than max pool element size
2) manage child shapes properly, and call RemoveReferences on the m_sparsesdf
2008-09-26 23:39:17 +00:00
erwin.coumans 682a0a1b90 fixed btSoftBodyConcaveCollisionAlgorithm, wrong bounding box transformation
added vertex welding option for btTriangleMesh (brute-force slow)
reject appendFace for some degenerate triangles (all 3 vertices/nodes need to be different)
add setVelocity method for btSoftBody
2008-09-26 21:59:03 +00:00