Commit Graph

49 Commits

Author SHA1 Message Date
erwin.coumans
258ef6e25a + Added joint feedback for constraints, needs testing/demo before 2.75 release.
See also http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2677
and http://code.google.com/p/bullet/issues/detail?id=227

To enable, use constraint->enableFeedback(true);
And then either use
constraint->getAppliedImpulse() for an estimated applied impulse,
or constraint-> getAppliedLinearImpulse(), or constraint->getAppliedAngularImpulseA() or constraint->getAppliedAngularImpulseB().

+removed a few warnings.
2009-05-27 01:34:46 +00:00
erwin.coumans
badf723257 Replace all hardcoded 1e30(f) by BT_LARGE_FLOAT, defined in btScalar.h as 1e18(f) so that its square still fits in FLT_MAX
Thanks to Ole K. for reporting! http://code.google.com/p/bullet/issues/detail?id=206
2009-05-23 02:15:54 +00:00
erwin.coumans
31d3bf7700 compile fixes for trunk on OSX 2009-05-23 01:40:27 +00:00
erwin.coumans
4ad21d36f9 some fixes in build systems 2009-05-22 19:24:20 +00:00
erwin.coumans
fb6146f0be Added MiniCL, a limited subset of OpenCL, the open standard for parallel programming of heterogeneous systems.
MiniCL includes a cross-platform run-time frontend based on pthreads, Win32 Threads, or libspe2 for Cell SPU.
It is there, to bridge the gap until OpenCL is more widely available.

See Bullet/Demos/VectorAdd, influenced by NVidia OpenCL Jumpstart Guide:
http://developer.download.nvidia.com/OpenCL/NVIDIA_OpenCL_JumpStart_Guide.pdf
2009-05-22 01:43:37 +00:00
rponom
c680791ce9 3 new constraints added : btGeneric6DofSpringConstraint, btUniversalConstraint, btHinge2Constraint
Motors for btConeTwistConstraint added (for obsolete solver only)
appConstraintDemo changed to test new constraints
Several coding-style fixes
2009-05-21 22:10:13 +00:00
erwin.coumans
8d9c445b73 Fix btGpu2dDemo build -> remove btGpuUtils.cpp and re-enable 3 include files for CPU implementation
(btGpuUtils.cpp requires several build system fixes first)
2009-05-16 14:44:28 +00:00
rponom
a95b2a33bd Added a possibility to build appGpu2dDemo with CUDA solver.
It is disabled by default, see Demos/Gpu2dDemo/btGpuDemoDynamicsWorld.h for instructions how to enable it

Cleaned up Extras/CUDA folder and libbulletcuda project
2009-05-14 20:20:56 +00:00
erwin.coumans
1526691f89 fixed memory leaks in ForkLiftDemo/VehicleDemo
Thanks to mi076 for report+fix: http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2652
Minor syntax error fix in a Jamfile
2009-05-14 17:03:42 +00:00
erwin.coumans
34685cb631 Fixes for Linux compilation,
Thanks to Ole: http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3590
Add option to select EPA or Minkowski sampling method in btDefaultCollisionConfiguration
2009-05-11 20:35:26 +00:00
erwin.coumans
0a360904b6 fixes in Jam msvcgen -> use SSE instead of SSE2 to stay compatible with older AMD Athlon XP processors, updated build files, minor compile fixes for GPU experimental code 2009-05-09 21:25:42 +00:00
erwin.coumans
33029ad996 updated demos -> ALT + mouse uses Maya-style controls, replaced BMF_Fonts by GLDebugFont
fix debug drawing of btMultiSphereShape
added box2d demo
added experimental gpu 2d demo
2009-05-09 19:27:14 +00:00
erwin.coumans
700db838b1 Add 1D and 2D support for Bullet: using rigidbody->angularFactor(const btVector3& factor) and body->setLinearFactor(const btVector3& linearFactor);
For example, to only allow linear motion in the X-Z plane, and only rotation around Y axis use:
	body->setLinearFactor(btVector3(1,0,1));
	body->setAngularFactor(btVector3(0,1,0));
Fix build issues with CodeBlocks, when generating projectfiles using CMake 2.6:
${OPENGL_glU_LIBRARY} should be ${OPENGL_glu_LIBRARY}
Fix build issue with CodeBlocks, comment out xmlfree in Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp (will leak memory)
2009-03-08 04:14:17 +00:00
erwin.coumans
8acadeb711 minor tweaks to demos: enable constraint debug drawing in AllBulletDemos, default constraint debugging size set to 0.3,
set svn:eol-style native for folder files
http://code.google.com/p/bullet/issues/detail?id=191
2009-02-18 22:52:03 +00:00
erwin.coumans
d886c06fa5 Add the option for the btSimulationIslandManager to avoid splitting islands (for constraint solving)
Move the convertContact inside constraint solver to its own method
2009-02-13 02:34:46 +00:00
erwin.coumans
7a2a98078a Fixes for broadphase/paircache determinism.
Revert definition for ATTRIBUTE_ALIGNED16, and try to force sizeof(btSolverConstraint) by using unions with btScalar, for non-btScalar data types.
Use btAssert and not assert.
Don't access btAlignedObjectArray elements, for zero sets
2009-02-10 23:50:21 +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
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
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
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
cb03329d06 added missing license in headers 2008-11-18 01:42:55 +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
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
cc43193b25 Fixes to allow compilation of BulletMultiThreaded under 64bit linux 2008-11-14 23:51:49 +00:00
erwin.coumans
98e66fc1c7 fix issue with PosixThreadSupport on non-Apple platforms 2008-11-08 16:33:58 +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
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
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
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
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
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
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
6f28170422 Removed obsolete btPoint3: use btVector3 instead 2008-10-27 19:56:48 +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
0d911a6c06 added missing vectormath <-> Bullet conversion file 2008-10-21 18:32:21 +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
4624bde28b updated autogenerated msvc projectfiles, minor fix in Gimpact/btGImpactShape.h (shapeType) and btWin32ThreadInterface. 2008-10-11 16:23:10 +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