Commit Graph

190 Commits

Author SHA1 Message Date
erwin.coumans
0a94209df1 make btTransform::getIdentity a static const reference, returning a static, and add getIdentity to btMatrix3x3 and btQuaternion class
Thanks to ejtttje and martijn for the suggestions:
http://code.google.com/p/bullet/issues/detail?id=139
2009-02-06 19:30:50 +00:00
erwin.coumans
f7092c0767 version update to 2.74 2009-02-06 05:02:33 +00:00
erwin.coumans
2162f6663d disable help text by default in AllBulletDemos (text slows down many graphics cards)
improve CollisionDemo.cpp, show multi-contact generation using perturbation
improve ColladaConverter: add hinge/point 2 point constraint conversion support, add btScaledTriangleMeshShape support
Fix Dynamica MayaPlygin: remove 'active' flag, it has to be replaced by mass=0 for active, mass<>0 for passive
Added missing projectfiles
Fixed single-shot contact generation. it is disabled by default to improve performance
Bugfixes for character controller, thanks to John McCutchan for reporting
Constraint solver: better default settings
btDefaultAllocator: aligned allocator uses non-aligned allocator (instead of directly malloc/free)
disable memalign by default, use Bullet's aligned allocator
2009-02-06 03:20:43 +00:00
rponom
d1b9dd4c83 Several improvements in constraint debug drawing 2009-02-06 00:04:52 +00:00
rponom
21afccdb29 Handy functions for debug visualization was added 2009-01-16 03:04:55 +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
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
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
bfa8ebfbd8 fixes to keep compiler and unix/libspe developers happy 2008-12-01 16:22:43 +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
bc131321a8 fix in (unused) operator == 2008-11-16 08:06:28 +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
5493ba8411 Updated ChangeLog
Rename CProfileManager::DumpAll to CProfileManager::dumpAll
2008-11-12 22:52:13 +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
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
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
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
96aa18f12f don't align btVector3 for now (need to reconsider it) 2008-11-08 05:28:24 +00:00
erwin.coumans
810bc73142 don't align IBM Cell SDK version (USE_LIBSPE2) 2008-11-07 05:15:05 +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
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
john.mccutchan
9b5df088de Committing height field terrain work from tomva1@yahoo.com 2008-11-06 19:41:31 +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
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
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
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
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
461602a5f2 minor issue with btAssert under Cell 2008-11-01 02:22:02 +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
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
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
6f28170422 Removed obsolete btPoint3: use btVector3 instead 2008-10-27 19:56:48 +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
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
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
6f6f88fa08 bump up version, add changelog entry for aabb/raytest improvements 2008-10-10 18:21:22 +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
752eb583d0 some minor work on soft body, to make it easier to integrate into apps. 2008-09-24 02:41:50 +00:00
erwin.coumans
58e1e9f049 updated version to 2.72, fix a compilation issue. 2008-09-12 00:59:16 +00:00
erwin.coumans
4ca3861944 remove ; 2008-09-11 18:19:19 +00:00
erwin.coumans
93d1d24234 Some changes in rendering, to get shadows for trimeshes
Add dynamic aabb tree (btDbvt) optimization for btCompoundShape/btCompoundCollisionAlgorithm
Add btTransformAabb util, todo: deploy it throughout the codebase
2008-09-10 05:20:04 +00:00
erwin.coumans
971a060bbb Define btAssert as empty in non-debug builds.
GL_DEPTH_BUFFER_BIT -> GL_DEPTH_TEST, thanks to Mihail Isakov, http://code.google.com/p/bullet/issues/detail?id=86
2008-09-05 06:22:18 +00:00
erwin.coumans
d2760b18aa fix placement new[], see discussion here:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1787&p=10252#p10252
2008-09-04 18:54:14 +00:00