Commit Graph

1466 Commits

Author SHA1 Message Date
erwin.coumans
bdfd9784ed fix msvc compilation/crash when shooting a box 2009-01-08 23:48:13 +00:00
john.mccutchan
a8ec916af0 Added Height Field Fluid Demo to Bullet. All code stored in the Demos/HeightFieldFluidDemo directory for now.
Please see HfFluidDemo.cpp for examples of how to use the height field fluid along with buoyant collision shapes.

The implementation is still lacking in my ways:
1) Need to complete more collision algorithms for buoyant collision shapes
2) Support compound buoyant shapes
3) The buoyancy model isn't that great
4) Fluid volume can be lost over time
2009-01-08 22:53:23 +00:00
erwin.coumans
9b57ba57f7 minor build system thing for Extras/iff binary file format 2009-01-08 05:11:06 +00:00
erwin.coumans
e839350a2c bump up the Dynamica version to 2.73, to match the Bullet version (avoids confusion for now) 2009-01-08 00:16:12 +00:00
erwin.coumans
48526b720c Fixes in Dynamica that let's Maya Plugin playback the simulation using Maya 2009 (used to only work with previous version).
Thanks to Lawrence Chai from Disney Animation for the contribution.
2009-01-07 23:38:27 +00:00
rponom
1991bf3013 Added getInfo1()/ getInfo2() code for joints to support the new SIMD constraint solver 2008-12-25 02:13:46 +00:00
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
rponom
09aa2dbbe7 CPU implementation of btCudaBroadphase added.
It is called bt3DGridBroadphase and btCudaBroadphase is now derived from it rater than from btSimpleBroadphase
Test of bt3DGridBroadphase was added to CDTestFramework
2008-11-25 03:16:11 +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