Commit Graph
100 Commits
Author SHA1 Message Date
erwin.coumans 4be20dc347 BulletMultiThreaded optimization: remove some memory copy on non-SPU platforms, using cellDmaGetReadOnly. 2008-12-12 22:28:16 +00:00
erwin.coumans c541414c84 disable btDbvt::collideTT with transform, it is unused and uses an invalid Intersect method. 2008-12-09 06:21:19 +00:00
erwin.coumans 8ed2db9b42 finally applied this 'getGravity' patch, so getGravity matches setGravity.
Thanks to Evgeny for the report/patch:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1852
http://code.google.com/p/bullet/issues/detail?id=23
2008-12-09 02:16:05 +00:00
erwin.coumans 6db1b932fd Make the btDbvtBroadphase deterministic/reproducable, by sorting the btBroadphasePair using unique ID, instead of proxy address.
The btAxisSweep3 didn't suffer from this issue, because proxies were always allocated in-order, as part of an array.
2008-12-08 20:16:29 +00:00
erwin.coumans 65cdd7146f Use placement new for copy constructor of arrays. Thanks to M. Reuvers for the patch.
http://bulletphysics.com/Bullet/phpBB3/viewforum.php?f=9

Generally, however, it is best to avoid copying entire arrays, but use a 
reference.

typedef btAlignedObjectArray<btSomeClass> Array;

Array a;
Array b = a;//avoid this whenever possible

This is much better:
Array& b = a;//use a reference
const Array& b = a; //or const reference
2008-12-08 17:57:18 +00:00
erwin.coumans f3a70b65eb Fix issues with btCompoundShape when adding/removing child shapes after construction of a btRigidBody.
Thanks tp for the report:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2925&p=11700#p11700
2008-12-07 20:57:38 +00:00
erwin.coumans 06167a0b31 For visual studio 2005 and later project files, in release mode use /fp:fast, /arch:SSE2 and using intrinsics.
Thanks to Roy Eltham for the tip:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2930
2008-12-06 01:54:29 +00:00
erwin.coumans 635e1a6aa0 set broadphase handle to zero when destructing a btCollisionWorld, just in case a collision object/ rigid body is re-used.
Thanks to Ole for reporting

Fix a bug , causing some deep penetrations to be missed. Not likely to have impacted many users, as such deep penetrations should have prevented in the first place.
Thanks a lot to Andy O'Neil for reporting and reproduction case.
2008-12-05 22:40:13 +00:00
erwin.coumans b89b71b38d improving the SSE constraint solver performance: avoid a FPU/minus operation, by replacing a _mm_add_ps(-normal,X) by _mm_sub_ps(X,normal) 2008-12-03 17:40:01 +00:00
erwin.coumans 6966b627a9 update ChangeLog 2008-12-03 06:20:23 +00:00
erwin.coumans 452fd24501 use 0.2 for erp, 0.4 makes stacks very spungy 2008-12-03 06:09:25 +00:00
erwin.coumans a064fd2052 Use the opposite constraint axis inside the constraint solver for the second object (-normal).
This makes it easier to port existing constraints and makes it 100% compatible with ODE quickstep constraint layout (getInfo2)
2008-12-03 04:52:23 +00:00
erwin.coumans 12a9a6e412 reverted patch, it breaks all the demos. 2008-12-02 22:32:45 +00:00
erwin.coumans 23bb0d94e6 documentation/parameter name fix for btMatrix3x3::setEulerZYX. There is no change in behaviour, no compatibility issues.
Thanks Tully Foote for the patch.
http://code.google.com/p/bullet/issues/detail?id=157
2008-12-02 22:27:26 +00:00
erwin.coumans 76b3e44117 Enable contact constraint in the obsolete/experimental SpuParallellSolverTask. It will be replaced by a better parallel constraint solver. 2008-12-02 07:39:13 +00:00
erwin.coumans 5383ed4930 + need to reset rigid body using 'setCenterOfMassTransform' to reset world inertia tensor
+ fixes in compound algorithm -> recompute contact points
+ add debug drawing to some demos.
+ revert btJacobianEntry change
+ replace dCROSSMAT by btVector3::getSkewSymmetricMatrix
2008-12-02 04:01:56 +00:00
erwin.coumans f0c302f65c update changelog 2008-12-01 16:25:43 +00:00
erwin.coumans bfa8ebfbd8 fixes to keep compiler and unix/libspe developers happy 2008-12-01 16:22:43 +00:00
erwin.coumans dd21959709 Minor fixes to keep trunk compiling, while doing the refactoring. 2008-12-01 07:24:39 +00:00
erwin.coumans bbfdcd44b6 Minor fixes to keep trunk compiling, while doing the refactoring. 2008-12-01 06:57:41 +00:00
erwin.coumans 7341c6ee7e Minor fixes to keep trunk compiling, while doing the refactoring. 2008-12-01 06:55:27 +00:00
erwin.coumans e80feca36b Big work-in-progress refactoring of the constraint solver:
1) Add fast branchless SIMD support for constraint solver (Windows only until we get other contributions).
See resolveSingleConstraintRowGenericSIMD in Bullet/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
resolveSingleConstraintRowGenericSIMD can be used for all constraints, including contact, point 2 point, hinge, generic etc.

2) During this refactoring, all constraints support the obsolete 'solveConstraintObsolete' while we add 'getInfo1' and 'getInfo2' support.
This interface is almost identical interface to Open Dynamics Engine, to make it easier to port Dantzig LCP solver.

3) Some minor refactoring to reduce huge constructor overhead in math classes.
2008-12-01 06:41:25 +00:00
erwin.coumans 7e93be739b add copy constructor for btAlignedObjectArray, to avoid crashes as reported by JamesH
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?p=11600#p11600
2008-11-30 16:47:36 +00:00
erwin.coumans e26b11ea5a fixed IBM Cell sdk build + demo (need to review related patch), thanks Jochen for reporting the issues. 2008-11-26 19:34:20 +00:00
erwin.coumans 82047e601e updated Bullet sequential impulse constraint solver, so it matches 100% ODE PGS quickstep solver innerloop, mainly by renaming variables... 2008-11-26 00:27:35 +00:00
erwin.coumans 7dda192bfc duplicate class name causes crashes, thanks to Nado and mickey for the report
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?t=2884
2008-11-20 19:18:48 +00:00
erwin.coumans bdea80f2ca added missing Jamfile 2008-11-20 08:10:05 +00:00
erwin.coumans bab2854e16 minor update in Bullet user manual (needs a lot of work) 2008-11-20 07:52:24 +00:00
erwin.coumans decf91a34d Made btCollisionWorld::convexSweepTest and btGhostObject::convexSweepTest consistent. Both have an optional last argument for allowedCcdPenetration.
Bugfix due to recent change in friction in constraint solver.
2008-11-19 19:55:14 +00:00
erwin.coumans 50344c4a23 Add support for broadphase acceleration of convex cast (re-use rayTest implementation with an added aabb min/max, zero for rays)
Add Concave Convexcast demo back in AllBulletDemos, and tweaked it a bit.
Fix view frustum of ForkLiftDemo (caused picking to fail)
Removed innerloop profiling for ray and convex casts, it hurts performance.
Set default #aabb's in CDTestFramework to 8192
2008-11-19 00:38:29 +00:00
erwin.coumans cb03329d06 added missing license in headers 2008-11-18 01:42:55 +00:00
erwin.coumans 615b7fbe94 removed unused files, accidently copied wrong license header in them. 2008-11-18 01:39:00 +00:00
erwin.coumans dc8692ba94 Added IBM Cell SDK 2.x software_cache to Bullet/Extras. There is an option to enable it for the BulletMultiThreaded Cell version.
See USE_SOFTWARE_CACHE in Bullet\src\BulletMultiThreaded\SpuNarrowPhaseCollisionTask\SpuGatheringCollisionTask.cpp
It improves the Bullet midphase collision detection (triangle/vertex fetch)
The license is CommonPublicLicense-1.0, see included license docs.
2008-11-18 01:33:30 +00:00
erwin.coumans 50f475feb5 moved a few Extras projects into Extras/obsolete. 2008-11-17 21:05:22 +00:00
erwin.coumans fe461296c6 Fix issue with un-initialized broadphase proxy during broadphase insert. It was an chicken-egg problem:
1) creating a broadphase proxy -> adding pairs during insertion. But during this pair insertion, the btGhostObject broadphase handle isn't set yet (it is done in step 2)
2) assign the broadphase proxy to btGhostObject
Thanks to ihar3d for the report http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2864
2008-11-17 18:40:21 +00:00
erwin.coumans bc131321a8 fix in (unused) operator == 2008-11-16 08:06:28 +00:00
erwin.coumans 0deffb7495 mutable wasn't needed for this anonymous union (btBroadphasePair) 2008-11-16 08:06:07 +00:00
erwin.coumans a006cea5ab cosmetic text fix for ForkLiftDemo 2008-11-16 07:48:08 +00:00
erwin.coumans f474e58fb1 some minor fixes for BulletMultiThreaded 2008-11-16 06:39:45 +00:00
erwin.coumans 686accab16 + repaired SpuParallellSolverTask: support for warmstarting and added btAssert for constraint sizes that exceed CONSTRAINT_MAX_SIZE
+ Share some more code between SpuParallelSolver and btSequentialImpulseConstraintSolver (both use btSolverBody now)
Lack of warmstarting reported here: http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2858
+ allow btBoxBoxDetector to execute on SPU.
2008-11-16 05:48:42 +00:00
erwin.coumans dcf3f96869 Raise number of objects to 16384, move all objects at 0.01 speed, to show worst case behaviour (and CUDA benefits) 2008-11-15 23:44:40 +00:00
erwin.coumans 21f03f2aed add 'NextScene' button and minor help in GUI 2008-11-15 23:42:39 +00:00
erwin.coumans 972d3be247 Disable Bullet SAP by default (initialization takes too long, will speed that up later), just compare btDbvt, CUDA and OPCODE broadphases 2008-11-15 23:06:12 +00:00
erwin.coumans 4d0c11cd95 add PE_REF macro to allow Win32 SIMD for Physics Effects box-boxBoxDistance (although performance hardly differs) 2008-11-15 22:40:09 +00:00
erwin.coumans 29bfd06af7 Disable friction warmstarting by default, removing second friction direction. This gives a large performance increase.
friction warmstarting can be turned on using:
dynamicsWorld ->getSolverInfo().m_solverMode |= SOLVER_USE_FRICTION_WARMSTARTING;
2008-11-15 22:20:55 +00:00
erwin.coumans a5c18db854 fix CMake install for CMAke 2.6 -> version GREATER then 2.5 2008-11-15 03:48:24 +00:00
erwin.coumans 183dcb0ce4 fixed uninitialized variable, thanks to Roman 2008-11-15 00:45:04 +00:00
erwin.coumans 78a7b07b41 removed BulletSpuOptimized.pdf and Bullet_Faq.pdf, it will be moved into the Bullet_User_Manual.pdf 2008-11-15 00:05:26 +00:00
erwin.coumans cc43193b25 Fixes to allow compilation of BulletMultiThreaded under 64bit linux 2008-11-14 23:51:49 +00:00
erwin.coumans 1f66cd15a7 minor tweaks to the demos 2008-11-13 08:32:47 +00:00
erwin.coumans 352aed528e Added specialKeyboardUp handler to GLUI (why was it missing?)
Some cleanup for ForkLiftDemo
Enable textures for ConcavePhysicsDemo, 
Added scaling to BasicDemo to show small objects (20 centimeter)
Removed demos from 'AllBulletDemos': less (clutter) = more
2008-11-13 07:33:25 +00:00
erwin.coumans 055c82ce08 disable raycast accelerator in Bullet, for better sweep and prune performance comparison (Bullet SAP) 2008-11-12 22:59:26 +00:00
erwin.coumans 5493ba8411 Updated ChangeLog
Rename CProfileManager::DumpAll to CProfileManager::dumpAll
2008-11-12 22:52:13 +00:00
erwin.coumans 9516e505a7 fix broken build
Add btCompoundShape export support for BulletColladaConverter. 
Thanks to JamesH for the report/request:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=12&t=2840
2008-11-12 22:25:23 +00:00
erwin.coumans 5feea39803 Fix compilation for MSVC 6.0 for Bullet and COLLADA DOM.
Fix issues with btDbvt: use ATTRIBUTE_ALIGNED16
Removed several places where variable was declared within for statement: for (int i=0; should be int i; for (i=0
2008-11-12 18:37:05 +00:00
erwin.coumans 444fbfeb40 add obsolete 'getPoints' to be backwards compatible (breaks MayaPlugin) 2008-11-12 16:53:06 +00:00
erwin.coumans c4bd276dfc make it easier to disable btQuickProf,
added a CProfileManager::DumpAll, to dump/printf all timings for one simulation frame.
2008-11-12 02:45:59 +00:00
erwin.coumans 1381394dd8 reverted 'getActiveObjects', island management will be improved for Bullet 2.74 release.
The implementation was error-prone and could lead to crashes.

See http://code.google.com/p/bullet/issues/detail?id=128
2008-11-11 16:19:20 +00:00
erwin.coumans 0384562db0 removed bloated reference docs, will add them in a separate package 2008-11-10 22:26:16 +00:00
erwin.coumans 85341fee2a fix more places in btSoftBody that assume btRigidBody (it wasn't designed to support btCollisionObject/btGhostObject).
Add another 'findActiveObject'
2008-11-10 21:33:11 +00:00
erwin.coumans 3c0ca0d931 Fix btSoftBody issue, so it can interact with btCollisionObject and btGhostObject (and not just btRigidBody and btSoftBody)
Thank for the report mi076 http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2823

remove legacy.c from libxml
removed #include <math.h> from btQuadWord.h , it should be centralized in btScalar.h (to allow easier replacement with fastmath.h etc)
2008-11-10 20:33:14 +00:00
erwin.coumans 8865e38e5b bugfix: for btCompoundShape::getChildTransform: return (const) reference to btTransform, not a copy.
added btCompoundShape::updateChildTransform
Thanks to ejtttje, see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2831
2008-11-10 09:04:04 +00:00
erwin.coumans 463a1b74c1 The SPURS version requires 16-byte alignment at the moment, and Cell SDK doesn't, so keep it like this for 2.73. @todo: Need to figure out better way to deal with those differences. 2008-11-09 23:35:23 +00:00
erwin.coumans bf3b6a2140 autogenerated projectfiles, add BulletDynamics/Character, moved from CharacterDemo 2008-11-08 22:50:57 +00:00
erwin.coumans 049270bb29 add Character to Jamfile 2008-11-08 22:49:16 +00:00
erwin.coumans 9bba23bf51 use eRadial as default for TerrainDemo 2008-11-08 22:42:19 +00:00
erwin.coumans 556241c92f updated build system for BulletDynamics/Character files 2008-11-08 21:46:21 +00:00
erwin.coumans 5dac27e694 fix in GIMPACT, reported here: http://code.google.com/p/bullet/issues/detail?id=118
tweak character margin for smoother sliding (needs to be fixed properly)
2008-11-08 21:33:37 +00:00
erwin.coumans f9aa7f3b53 Add Character control to btDiscreteDynamicsWorld (moved btCharacterControllerInterface/btKinematicCharacterController functionality from demo)
Remove ibmsdk from CcdPhysicsDemo and CollisionDemo
2008-11-08 21:01:20 +00:00
erwin.coumans ce0bdd891d added synchronizeSingleMotionState, thanks Chunky. 2008-11-08 19:34:05 +00:00
erwin.coumans 075ba0b9d9 Enabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation, but there are issues with large size rations. todo: fix this
Make synchronizeMotionStates() pure virtual in btDynamicsWorld and public in btDiscreteDynamicsWorld. Thanks Chunky.
2008-11-08 19:27:53 +00:00
erwin.coumans 3e9af21cec disable btActivatingCollisionAlgorithm 2008-11-08 17:14:13 +00:00
erwin.coumans 98e66fc1c7 fix issue with PosixThreadSupport on non-Apple platforms 2008-11-08 16:33:58 +00:00
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