Commit Graph
100 Commits
Author SHA1 Message Date
erwin.coumans 6fcb48f918 bump up version to 2.77 in preparation for release. 2010-07-21 22:11:49 +00:00
erwin.coumans 7684c1b92d use relative path, to make it easier to include btBulletWorldImporter, #include "../BulletFileLoader/btBulletFile.h"
Create a separate library for MiniCL (a rudimentary OpenCL wrapper to run kernels on multi-core CPU using the default C++ compiler, using Win32 Threads or Posix)
tweak vectormath/vmInclude.h for PS3 platforms
fix warning in btKinematicCharacterController
2010-07-21 21:33:40 +00:00
erwin.coumans 442959d457 autogenerated msvc 2008 projectfiles 2010-07-21 21:26:58 +00:00
erwin.coumans dd0f022d1d trying to sort out the vectormath include path mess:
move vectormath to src folder, and add a vmInclude.h that contains the logic in a single location.
If you still need a system-wide vectormath, make sure to define USE_SYSTEM_VECTORMATH (in build system)
2010-07-21 19:11:28 +00:00
erwin.coumans 4eddfce03e remove some warnings 2010-07-20 23:37:11 +00:00
erwin.coumans f3664551b5 CMake test for existance of Demos and Demos_ps3 directories
Updated character controller, see also http://code.google.com/p/bullet/issues/detail?id=198
2010-07-20 22:31:00 +00:00
erwin.coumans 11fa2e8b43 Added GPU SoftBody constraint solvers for DirectX 11 (Direct Compute) and OpenCL, thanks to AMD.
See also http://code.google.com/p/bullet/issues/detail?id=390
Added Demos/DX11ClothDemo
(an OpenCL cloth demo will follow soon)
2010-07-20 16:09:53 +00:00
erwin.coumans 5fd08505ba Serialization fix: workaround for conflicting SDNA data -> SDNANAME (needs better fix)
Serialization fix imported from gamekit, see http://code.google.com/p/gamekit/source/detail?r=433
2010-07-20 13:55:12 +00:00
erwin.coumans 745b3d4e05 fix some warnings, see Issue 400 2010-07-20 01:09:34 +00:00
erwin.coumans f5e6f87427 implemented patch by Vroonsh to optimize island management with many static objects.
It can be disabled by commenting out the #define STATIC_SIMULATION_ISLAND_OPTIMIZATION in Bullet/src/BulletCollision/CollisionDispatch/btUnionFind.h

See also Issue 406
2010-07-20 00:21:52 +00:00
erwin.coumans 5b70a895a5 fix some issues with Linux compatibility,
see Issue 409
2010-07-17 13:44:10 +00:00
erwin.coumans 41ad5d3c06 revert accidentally committed testing code for the btParallelConstraintSolver (in BasicDemo) 2010-07-17 01:06:38 +00:00
erwin.coumans e269034494 removed obsolete virtual implementation of 'getUpAxis' in btCylinderShapeZ. It has been replaced by the non-virtual implementation in the base class (for Cell SPU)
Thanks to Paul Dubois for the report, see Issue 407
2010-07-16 23:41:29 +00:00
erwin.coumans b3f081fc85 Added preparation for GPU hardware accelerated solvers for BulletSoftBody (OpenCL and DirectCompute backends will follow)
Added assert to check for positive masses in btCompoundShape::calculatePrincipalAxisTransform, see Issue 399
Fixes for LLVM/GCC compilation issue in btSequentialImpulseConstraintSolver
(Untested) fix for Linux 64bit compilation Issue 409
2010-07-16 23:26:25 +00:00
erwin.coumans fbc17731ec Several changes to sync Bullet trunk with PlayStation 3 spubullet version
Still needs some cross-platform fixes
2010-07-08 17:02:38 +00:00
erwin.coumans 76a58e1f4e fixes in OSX ThreadingDemo / PosixThreadSupport 2010-06-29 01:19:03 +00:00
erwin.coumans 7bfa94b6a3 implement barrier/critical section for OSX (PosixThreadSupport)
enable Demos/ThreadingDemo for OSX
add cmake build support for VectorAdd_OpenCL for OSX
2010-06-28 23:03:14 +00:00
erwin.coumans 8bf91f735c Create a stringify example, instead of loading the .cl file from disk, include it as a string.
The kernel in the .cl file is also compiled by the native C++ cpu compiler, when using MiniCL.
When you want to debug the kernel using MiniCL, and want to put breakpoints, it is best to:

1) enabled the define #define DEBUG_MINICL_KERNELS 1 in Bullet/src/BulletMultiThreaded/MiniCL.cpp
2) temporarily remove the stringify lines in the .cl kernel, because it prevents the debugger from finding the right line.
2010-06-25 22:21:18 +00:00
erwin.coumans b884554a8f Hack around latest AMD graphics cards having troubles with point sprite rendering
The problem is still unresolved on the 5870 card, and results in a black screen
See also http://forums.amd.com/devforum/messageview.cfm?catid=392&threadid=129431
2010-06-25 18:31:10 +00:00
erwin.coumans b04f176604 fix for OpenCL demos build for NVidia 2010-06-25 17:01:14 +00:00
erwin.coumans b83e16b7ff fix out-of-bounds in AMD version of VectorAdd 2010-06-25 00:40:20 +00:00
erwin.coumans 5db1c008bd add AMD version of VectorAdd_OpenCL, next to MiniCL (has issues with workgroup size) 2010-06-25 00:19:22 +00:00
erwin.coumans 498da0721b Move some code from Branches/OpenCL to trunk, related to threading and OpenCL:
Added Demos/ThreadingDemo showing how to use the cross-platform btThreadSupportInterface under Windows.
Added Demos/ParticlesOpenCL showing how to run the NVidia particle demo under OpenCL implementations by AMD, NVidia and MiniCL (CPU)
2010-06-24 22:54:00 +00:00
erwin.coumans b2798eaae5 fix typo on API btCollisionDispatcher::getDispatherFlags -> getDispatcherFlags
Thanks to Andres Traks for the report/patch:
http://code.google.com/p/bullet/issues/detail?id=372
2010-06-18 01:17:40 +00:00
erwin.coumans 627877e3e5 fix to setLocalScaling for a btCylinderShape, thanks to rutina for the patch:
http://code.google.com/p/bullet/issues/detail?id=393
2010-06-18 00:59:08 +00:00
erwin.coumans 5e069f220e Issue 395: [Patch] implement btCompoundShape::createAabbTreeFromChildren
Thanks Paul Dubois for the patch
2010-06-18 00:39:42 +00:00
erwin.coumans f6242087a1 make btHingeConstraint constructor arguments const, thanks to Nick Waanders
http://code.google.com/p/bullet/issues/detail?id=391

return value in btBulletWorldImporter
2010-06-18 00:31:06 +00:00
erwin.coumans f7be7acc3a minor thread debugging issue: move printf before the SetEvent (in Win32ThreadSupport) 2010-05-14 00:36:10 +00:00
erwin.coumans d2cc0d73c5 avoid crash in .bullet file reading on empty files (or file-not-found) 2010-05-12 23:18:11 +00:00
erwin.coumans ae09329a9d Add PPU fallback for btCompoundShape that have more child shapes than MAX_SPU_COMPOUND_SUBSHAPES (default 16, see SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h) 2010-05-12 23:06:48 +00:00
erwin.coumans b39abc4513 minor addition to GLDebugFont for non-blender text rendering (better readable on top of existing graphics)
Use GLDebugDrawStringInternal(xcoord,ycoord,text,rgb_color,use_blending,character_spacing);
2010-05-12 23:03:10 +00:00
erwin.coumans f9445bdfde Minor update SSE version of SCE Vectormath library
Changes:
Update copyright year to 2010
Updated operator- for Vector3 (use NEG_MASK)
Use  newtonrapson_rsqrt4 for Quat::normalize (better precision)
Add Vector::loadXYZW and Quat::loadXYZW, similar to scalar version, using _mm_lddqu_si128
Replace inline by __forceinline
Add get128Ref and set128() methods
2010-05-07 02:25:20 +00:00
erwin.coumans c35e72bd9f minor tweak: allow btBulletWorldImporter to convertAllObjects (instantiate Bullet objects) without having to reload/parse the .bullet file. Can be useful to quickly destroy and restart a dynamics world 2010-05-03 19:49:46 +00:00
erwin.coumans 8723005cd7 fix for MinGW compiler support in bChunk.h serialization
thanks to comicfans44 for the report and fix:
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=5014&p=18368#p18368
2010-04-26 20:25:42 +00:00
erwin.coumans 334420fc79 SCE Vectormath scalar version update 2010-04-20 18:26:03 +00:00
erwin.coumans 1c218bffed Add an 'extension' pointer to btCollisionObject for some of our Bullet extentions (a custom constraint solver that needs a back-pointer) 2010-04-13 21:43:34 +00:00
erwin.coumans 0fbd9d49c4 + Optimization: move some variable declarations outside of the innerloop in btCompoundCollisionAlgorithm.cpp
Thanks to mccdo at iastate.edu for the contribution, see Issue 373
+ Optimization: removed some unnecessary code in btConvexHullShape::localGetSupportingVertexWithoutMargin
+ Added autogenerated Visual Studio 2005 projectfiles (using a patched cmake 2.8.1 to avoid any references to cmake/absolute paths)
2010-04-12 17:46:56 +00:00
erwin.coumans 07f51390ea Fix for the non-virtual implementation of btGeneric6DofConstraint (mainly for Cell SPU purposes):
Need to explicitly call testAngularLimitMotor(i);, because it cannot be called during 'getInfo1', because m_rbA and m_rbB is not available.
2010-04-05 20:18:53 +00:00
erwin.coumans f0ba00c010 prettify debug drawing of cone and cylinder,
thanks to francois.sugny
see also http://code.google.com/p/bullet/issues/detail?id=369
2010-03-31 21:12:59 +00:00
erwin.coumans c0a694c571 added bullet.pc.cmake and fixes for PKGCONFIG
See also http://code.google.com/p/bullet/issues/detail?id=337
2010-03-31 20:58:53 +00:00
erwin.coumans 0bf3cb5aa5 setMassProps didn't adjust gravity force, this might impact some projects
See also 
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4835
and
http://code.google.com/p/bullet/issues/detail?id=364
2010-03-31 20:50:11 +00:00
erwin.coumans bb84b93dd9 enable INSTALL_LIBS for "Unix Makefiles" and for APPLE AND FRAMEWORKS,
leave the option disabled by default for other build systems (MSVC, Xcode etc)

See also http://code.google.com/p/bullet/issues/detail?id=370
2010-03-31 20:28:51 +00:00
erwin.coumans 7aa183f42f fix an issue with calculating the max depth of btDbvt
(shouldn't impact the btDbvtBroadphase or other code, feature seems to be unused)
2010-03-31 20:11:56 +00:00
erwin.coumans 9de41ddd7a btBulletWorldImporter fix: don't crash when loading files that have wrong constraint setup for btGeneric6DofConstraints 2010-03-15 23:28:50 +00:00
erwin.coumans 2f2d33d578 bugfix related to previous commit (btAssert at the wrong place)
fixes for automake build system (remove references to ColladaDemo)
2010-03-13 20:47:21 +00:00
erwin.coumans 192a2b38e9 assign proper index when removing a child shape from btCompoundShape
Thanks to sparkprime for the report and fix in Issue 354
See http://code.google.com/p/bullet/issues/detail?id=354
Fix a few warnings
2010-03-12 05:32:57 +00:00
erwin.coumans f250fd21c5 fix warning in character controller 2010-03-08 01:40:02 +00:00
erwin.coumans 81efe51116 create a better demo for the perturbation around the separating normal 2010-03-06 23:30:32 +00:00
erwin.coumans 00127a3d70 apply fixes for the btKinematicCharacterController to avoid climbing walls (it was broken anyway)
Thanks to ossumajor, see Issue 198
2010-03-06 19:39:14 +00:00
erwin.coumans 3c8f8f55d7 add vsync for Mac OSX to avoid tearing artifacts 2010-03-06 19:37:38 +00:00
erwin.coumans da3c174b0e Maya Dynamica plugin is moved to http://dynamica.googlecode.com 2010-03-06 18:31:59 +00:00
erwin.coumans 5bd008eff7 more fixes for shared libs 2010-03-06 17:21:08 +00:00
erwin.coumans 97bc4be09d improving shared library/framework support (still untested) 2010-03-06 17:07:22 +00:00
erwin.coumans 81f04a4d48 fix: some file didn't have the svn:eol-style native yet 2010-03-06 15:23:36 +00:00
erwin.coumans 4fd48ac691 Fixes to build under MinGW
thanks to Mikhail, http://code.google.com/p/bullet/issues/detail?id=352
2010-03-03 21:40:12 +00:00
erwin.coumans 658979c3ac Another bugfix in the serialization (recently introduced), it is a mine field ;-)
A fix for btSubSimplexConvexCast, don't add a point of the Minkowski sum if it wasn't already in the voronoi simplex (similar to GJK)
2010-03-02 20:37:11 +00:00
erwin.coumans 8b1e1c9fdf comment-out unused var 2010-03-02 12:12:46 +00:00
erwin.coumans 1f38568f14 Fixing serialization issues introduced in previous commits:
0 maps to 0 (for getUniquePointer)
use getUniquePointer for names too
2010-03-02 11:40:08 +00:00
erwin.coumans 8fbe399ea4 Make .bullet serialization mode robust:
Deal with broken DNA serialization. Bullet 2.76 release revision 2035 - 2046 was broken, and this includes the Maya Dynamica plugin.
Added some workaround to deal with the broken .bullet files, instead of crashing.
2010-03-02 09:32:34 +00:00
erwin.coumans c517f14dd4 fix some compile issue on some 64bit compilers 2010-02-28 22:21:07 +00:00
erwin.coumans 9acb3d1805 Added some improvements on Bullet serialization:
Introduced generated unique id's, instead of the pointer address to avoid 64bit->32bit truncation issues
Use serializer->getUniquePointer instead of directly using a pointer

moved  ChunkUtils::getNextBlock to bFile::getNextBlock.
Moved 'TEST_BACKWARD_FORWARD_COMPATIBILITY' to bDNA.cpp. Enable the define for further testing of .bullet format
Removed duplicate definitions and use the one in LinearMath/btSerialization.h
2010-02-28 20:50:50 +00:00
erwin.coumans d5ea1d569f for for btBvhTriangleMeshShape with short int indices serialization
disable bvh serialization, it has issues (needs testing)
2010-02-27 09:16:42 +00:00
erwin.coumans aab5652e7d fix a serialization bug with btStridingMeshInterface with short indices (16 bit) 2010-02-27 02:16:25 +00:00
erwin.coumans 4add96ce75 fix crashing bug on import btTriangleMeshShape of 16-bit indices 2010-02-26 22:29:25 +00:00
erwin.coumans 56f3df802e update serialization mainly for Blender .blend reading, it has to do with pointer arrays not being swapped properly (Bullet .bullet doesn't use pointer arrays so it isn't affected)
Thanks a lot to Charlie/snailrose for the fix
2010-02-26 03:07:23 +00:00
erwin.coumans 3629df72fd This should be the final Bullet 2.76 release 2010-02-25 20:25:59 +00:00
erwin.coumans 8383d76c42 revert DNA change in previous commit 2010-02-25 20:18:40 +00:00
erwin.coumans 40dc18f604 remove Extras/obsolete/quickstep
improve serialization based on feedback: make it easier to serialize a single object, or single shape, or single bvh.
Modified Bullet/Demos/ConcaveDemo to use btSerializer to serialize the btOptimizedBvh (or optionally the trimesh+bvh)

You can also serialize trimesh without BVH, use:
serializer->setSerializationFlags(BT_SERIALIZE_NO_BVH);//	or BT_SERIALIZE_NO_TRIANGLEINFOMAP
2010-02-25 20:12:40 +00:00
erwin.coumans 44503b20a9 Updated Bullet User Manual for Bullet 2.76. 2010-02-25 01:23:16 +00:00
erwin.coumans 5a6afb2b8d expose the SphereTriangleDetector::collide method
cmake build tweaks: only compile BlenderSerialize if necessary
2010-02-24 19:27:24 +00:00
erwin.coumans 6de5799d5d add missing virtual destructor (warning) 2010-02-24 16:02:55 +00:00
erwin.coumans 012cc0cc81 update autogenerated Bullet de-serialization headerfiles 2010-02-24 03:25:47 +00:00
erwin.coumans 9c1d134f2f add support for btTriangleInfoMap serialization (needs testing) 2010-02-24 03:22:34 +00:00
erwin.coumans f5fabd2676 Preparation for serialization of btTriangleInfoMap
Add flags to disable bvh and triangleinfomap serialization

btSerializer::setSerializationFlags(flags)
flag can have value BT_SERIALIZE_NO_BVH, BT_SERIALIZE_NO_TRIANGLEINFOMAP
2010-02-24 02:49:41 +00:00
erwin.coumans e156967762 Enable graphical benchmark by default in cmake
Toggle between point to point and generic 6dof constraint for mouse picking in the demos

Use a 'equal vertex thresdhold' in the btVoronoiSimplexSolver of  0.0001f by default.
This can be disabled (or configured) using defaultCollisionConfiguration->getSimplexSolver()->setEqualVertexThreshold(0.f);
See http://code.google.com/p/bullet/issues/detail?id=305
2010-02-24 01:28:23 +00:00
erwin.coumans 1425feec26 minor warning fixes, issue with "direction[i] = direction[i];" on OSX 2010-02-23 18:08:44 +00:00
erwin.coumans 621eddb769 make btHashMap data protected (not private) for easier serialization
move btTriangleInfoMap.h into its own header, into the BulletCollision/CollisionShapes folder
add btTriangleInfoMap pointer to btBvhTriangleMeshShape, so we don't need to use the 'userpointer' anymore
preparation for serialization of btTriangleInfoMap.

See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603&start=30
2010-02-23 09:52:39 +00:00
erwin.coumans 2a2c82b7ce update autogenerated serialization headers 2010-02-23 09:15:53 +00:00
erwin.coumans 41e9115bca Add support to serialize btOptimizedBvh/btQuantizedBvh for a btBvhTriangleMeshShape (using the new btSerializer). This is a new implementation, with full cross-platform support.
So it is different from the in-place method (btQuantizedBvh::serializeInPlace/deserializeInPlace).

It is also possible to serialize/deserialize just the bvh, using the btSerializer (needs some code snippet/helper)
See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4770
2010-02-23 09:03:46 +00:00
erwin.coumans e4c3c2a1a2 Fix Issue 342, related to OpenGL GL_ShapeDrawer (when used with multiple OpenGL contexts) 2010-02-23 03:11:18 +00:00
erwin.coumans 79ef84f344 fix Issue 345 with kinematic objects
Thanks to nanocell http://code.google.com/p/bullet/issues/detail?id=345
2010-02-23 02:33:11 +00:00
erwin.coumans 5ab92c0083 fix issue with serialization (only happens when using the BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES option) 2010-02-22 22:47:15 +00:00
erwin.coumans 9dfe040bee Add some btTypedConstaint methods to btRaycastVehicle for backwards compatibility. 2010-02-21 00:30:17 +00:00
erwin.coumans 155254d448 remove warning, remove Jamfile from CMakeLists.txt, check for two static objects in solver. 2010-02-20 21:12:50 +00:00
erwin.coumans ceeb9392d9 removed ColladaDemo and COLLADA, LibXML from autotools files
(those files are moved to the Dynamica repository, see http://dynamica.googlecode.com)
2010-02-20 15:49:28 +00:00
erwin.coumans 1c0ec85c32 Retired the Jam build system (and msvcgen). CMake is currently the preferred build system on Windows, Mac and UNIX
(autotools files are still left for now)
2010-02-20 15:47:20 +00:00
erwin.coumans 6ef37ab722 pass on rigid body name in btBulletWorldImporter, to make it easier to bind physics and graphics objects.
moved some obsolete files to Extras/obsolete, and removed freeglut
moved ColladaDemo to Dynamica Maya plugin repository (it has COLLADA_DOM and libxml), see http://dynamica.googlecode.com
Added new .bullet file
Minor update in Bullet_User_Manual.pdf, removed obsolete Bullet_Faq.pdf
2010-02-20 15:39:09 +00:00
erwin.coumans 890fd49813 don't serialize names twice,
register unknown chunks (used for rigid body/shape/constraint names)
2010-02-20 03:19:27 +00:00
erwin.coumans 8594a0d8bd accidently removed 64bit serialization DNA in previous commit, re-adding 2010-02-19 23:39:55 +00:00
erwin.coumans 85724b5500 SerializeDemo: create a testFile.bullet if it is missing
Serialization: remove obsolete autogenerated headers
Minor changes in btSequentialImpulseConstraintSolver: split methods to make it easier to derive from the class and add functionality.
2010-02-19 23:24:04 +00:00
erwin.coumans 07ea2a71e2 Moved COLLADA_DOM,LibXML and BulletColladaConverter to http://dynamica.googlecode.com
This is the new location for the Dynamica Maya plugin
2010-02-18 18:04:37 +00:00
erwin.coumans 5c5ce9b4b3 fixes_dialogmenu_capsule.patch 2010-02-18 06:16:35 +00:00
erwin.coumans 820119a6df fix previous commit in BulletMultiThreaded. 2010-02-18 05:55:39 +00:00
erwin.coumans 2b7c0989a0 parallel/SPU collision task: contact points have to be replaced, otherwise small positional errors accumulate (and spheres start rolling automatically etc) 2010-02-18 01:51:30 +00:00
erwin.coumans 45e7c7f564 Add missing files to XCode project
Add option to disable SPU collision processing, and add assert to detect unsupported recursive compounds on SPU.
2010-02-17 02:34:26 +00:00
erwin.coumans 729a883b71 attempt to let Maya plugin build under Linux using cmake
Thanks redpawfx for the feedback, see http://code.google.com/p/bullet/issues/detail?id=221

improvements in cmake (disable this incremental linking)
2010-02-16 04:30:53 +00:00
erwin.coumans 76681a52ee fix compile issue strncmp, strlen and memcpy,
Thanks MatrixNAN for the report http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4732
2010-02-15 02:47:44 +00:00
erwin.coumans 510be411e6 added missing virtual destructor 2010-02-13 22:06:33 +00:00
erwin.coumans 8246330403 revert some alignment macro 2010-02-13 21:59:54 +00:00
erwin.coumans ced831e6a5 allow to use Bullet in C++/CLI managed C++, using the #pragma unmanaged
Make sure to #define BT_MANAGED_CODE in the managed .projects that include Bullet source code
2010-02-13 21:49:55 +00:00