Commit Graph
100 Commits
Author SHA1 Message Date
erwin.coumans f6dcf94f25 Reduce default memory pool sizes (will use heap on overflow anyway), fits better with iPhone and consoles
Debug drawer needs to iterate over all objects, not just active
2008-11-08 06:37:48 +00:00
erwin.coumans 1996004b01 removed a few unused variables 2008-11-08 05:29:19 +00:00
erwin.coumans 96aa18f12f don't align btVector3 for now (need to reconsider it) 2008-11-08 05:28:24 +00:00
erwin.coumans cef40e5cce no 'const int' but inline for a few methods
remove redundant/unreachable 'breaks'
2008-11-08 05:27:26 +00:00
erwin.coumans c3dfcd21bf add missing appTerrainDemo project/rc files 2008-11-07 21:41:51 +00:00
erwin.coumans f285cb5e97 removed comment (from Ozzy Osbourne) 2008-11-07 05:17:13 +00:00
erwin.coumans 810bc73142 don't align IBM Cell SDK version (USE_LIBSPE2) 2008-11-07 05:15:05 +00:00
erwin.coumans e36b06f585 update autogenerated projectfiles 2008-11-07 04:29:46 +00:00
erwin.coumans 88ac9e8bfe added btActivatingCollisionAlgorithm.* to build systems 2008-11-07 04:27:59 +00:00
erwin.coumans 345da029b9 minor issues, don't inline a out-of-line method, reorder members 2008-11-07 04:02:32 +00:00
erwin.coumans 86353f0ad8 add btActivationCollisionAlgoritm to fix deactivation problems, reported here:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2616

provide access to active objects, requested here:
http://code.google.com/p/bullet/issues/detail?id=128
2008-11-07 03:37:14 +00:00
erwin.coumans f46d65d337 updated projectfiles 2008-11-07 00:47:06 +00:00
erwin.coumans 1165df7d67 replace VehicleDemo by ForkLiftDemo in AllBulletDemos 2008-11-07 00:42:32 +00:00
erwin.coumans 9aadc53322 Add VERSION to CMake build.
http://code.google.com/p/bullet/issues/detail?id=137
Removed TerrainDemo from AllBulletDemos, it isn't properly tested (has grinds to a halt after running it for a while, shooting some objects on it).
2008-11-07 00:10:29 +00:00
erwin.coumans a69e03f497 use 'getUnscaledPoints' to make it more obvious that m_localScaling hasn't been applied to them. 2008-11-06 23:40:13 +00:00
erwin.coumans 33ada42e18 add operator != and operator == to btQuadWord,
minor fix in 	btTransformUtil::calculateVelocityQuaternion, report zero angular velocity on identical transforms (using above operator to check identical transforms)
2008-11-06 23:39:33 +00:00
erwin.coumans a4c205afc0 enable convex separation util, potentially improves performance. set threshold to zero (docs follow)
fix scaling issue with btConvexHullShape
use virtual getSupportingVertex on non-SPU platform
2008-11-06 23:38:18 +00:00
erwin.coumans c1fc609d74 minor update to benchmark: use scaling for btConvexHullShape, to make sure that feature is tested.
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2811
2008-11-06 23:35:39 +00:00
erwin.coumans 521314b9e7 disable alignment for btQuadWord for non-PS3 platforms (it causes troubles for LibSPE2) 2008-11-06 07:31:17 +00:00
erwin.coumans e9df33a6c5 fix issue, related to hard-coded rollaxis index, should use m_indexForwardAxis
Thanks Joerg, luding.org
2008-11-06 07:07:56 +00:00
erwin.coumans 3ca7d91fc6 fix PosixThreadSupport for Mac OSX, thanks to David Guthrie,
http://code.google.com/p/bullet/issues/detail?id=111
2008-11-06 07:04:36 +00:00
erwin.coumans 2daf428386 updated CMake support: remove Lib prefix, to facilitate Apple Framework support, add App prefix for demos
See discussion here: http://code.google.com/p/bullet/issues/detail?id=129
2008-11-06 06:54:35 +00:00
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