Commit Graph
100 Commits
Author SHA1 Message Date
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
erwin.coumans 32b4de20ab Fixed some serialization issues related to swapping endianness of DNA, and fixed memory leak in btSerializer 2010-02-13 01:33:28 +00:00
erwin.coumans 1a87fbf2f0 btBulletWorldImporter support for loading of btCollisionObject from a .bullet file.
minor compilation fix on PS3

Yippie, revision 2000!
2010-02-13 00:43:42 +00:00
erwin.coumans e71051e931 BulletMultiThreeded SpuGatheringCollisionDispatcher: minor change in batch size of scheduled pairs: use 128 by default, unless the number of pairs is less then (total amount of tasks * batch size) 2010-02-12 23:14:16 +00:00
erwin.coumans e68a13f185 fixes to allow btStaticPlaneShape to be processed on SPU (alignment, non-virtual calls) 2010-02-12 22:49:52 +00:00
erwin.coumans 70a6073b52 fixes to allow btStaticPlaneShape to be processed on SPU (alignment, non-virtual calls) 2010-02-12 22:49:40 +00:00
erwin.coumans 088d843f8c Add btStaticPlaneShape support for SpuGatheringCollisionDispatcher.
See Issue 312, thanks to davidsream for the report
2010-02-12 22:02:19 +00:00
erwin.coumans 66135a2082 added missing virtual destructor ~btSerializer 2010-02-12 00:55:44 +00:00
erwin.coumans 6c87394d95 added missing project 2010-02-12 00:04:22 +00:00
erwin.coumans 83f0bfc0e5 strip LibXML, we don't use it anymore (neither COLLADA_DOM) 2010-02-11 23:41:14 +00:00
erwin.coumans c1fe1e70fc Aargh, fighting cmake stupidness: remove VCPreLinkEventTool clutter 2010-02-11 23:39:14 +00:00
erwin.coumans 6463605e54 cmake more fixes 2010-02-11 22:09:08 +00:00
erwin.coumans 065a56ee4b fix Mac OSX build 2010-02-11 21:41:05 +00:00
erwin.coumans 10c300c7a0 sprintf_s and strcpy_s breaks mac build, remove for now. If we want safe versions, we need to implement a btSprintf and byStrCpy version 2010-02-11 21:33:51 +00:00
erwin.coumans d4c3633405 Get rid of btSolverBody and use btRigidBody directly. btSolverBody didn't improve performance after all, due to random-access
Tweak the BenchmarkDemo a bit: 

1) disable deactivation in graphical mode
2) add some settings that increase performance in the BenchmarkDemo2 (1000 stack) from 35ms to 15ms on this quad core (at the cost of a bit of quality)
2010-02-11 20:30:56 +00:00
erwin.coumans bb8d1b11df Add btBroadphaseInterface::aabbTest. btDbvtBroadphase and btAxisSweep3 should perform well, as long as the raycast accelerator is enabled.
This should fix the btCollisionWorld::contactTest(btCollisionObject* colObj, ContactResultCallback& resultCallback);

Thanks to Ola for the report!
2010-02-11 18:25:50 +00:00
erwin.coumans 7a175fb65e Add pairwise collision test:
void	btCollisionWorld::contactPairTest(btCollisionObject* colObjA, btCollisionObject* colObjB, ContactResultCallback& resultCallback)

cmake: improve feedback for Maya Plugin handling if the Maya base path is not detected
2010-02-11 09:18:49 +00:00
erwin.coumans 5907f81774 Add void btCollisionWorld::contactTest(btCollisionObject* colObj, ContactResultCallback& resultCallback);
The user should derive its own class from ContactResultCallback and implement the following callback (similar to the gContactAddedCallback):

virtual	btScalar	addSingleResult(btManifoldPoint& cp,	const btCollisionObject* colObj0,int partId0,int index0,const btCollisionObject* colObj1,int partId1,int index1) = 0;
2010-02-11 08:45:41 +00:00
erwin.coumans 70c70bf681 cmake: don't install anything by default, unless the option INSTALL_LIBS is enabled
cmake: fix for multi-threaded benchmarks
2010-02-11 07:12:58 +00:00
erwin.coumans 97921411d2 cmake build system improvement: don't INSTALL when INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES is set
minor fix for MinGW32, reported here: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4710
2010-02-11 04:32:37 +00:00
erwin.coumans 14f65a5cac fix minor issue with cmake build system 2010-02-09 21:12:36 +00:00
erwin.coumans f567130d78 add option to compile benchmark using BulletMultiThreaded (for now the option is only tested on Windows) 2010-02-08 23:50:33 +00:00
erwin.coumans 7d4e2873e2 move some recent MiniCL work to trunk 2010-02-08 22:42:58 +00:00
erwin.coumans 52e60c8246 manually disable incremental build (cmake seems to have issues with it still)
-> find and replace in all files LinkIncremental="2" -> LinkIncremental="1"
2010-02-08 20:38:44 +00:00
erwin.coumans 6a8a8ad39f more improvements for msvc cmake build system and test for autogenerated cmake projectfiles for msvc 2008 in msvc/2008 (with relative paths) 2010-02-08 20:35:04 +00:00
erwin.coumans 558abff4db added extra file search path for cmake-generated msvc projectfiles (needs 4 levels back) 2010-02-08 08:51:08 +00:00
erwin.coumans a6d9e977f7 A bit more work on the cmake build system, copy glut32.dll or glut64.dll into binary directory for out-of-source builds.
Include .rc resource file (to add icon) for WIN32 cmake.
2010-02-08 08:12:04 +00:00
erwin.coumans 7782952d6b Add a minimum solver 'batch' size to avoid solving many small (independent) islands separately
Default size is 128 . Disable feature by using dynamicsWorld->getSolverInfo().m_minimumSolverBatchSize = 1;
2010-02-06 22:21:44 +00:00
erwin.coumans a9556d0fd5 use _WIN32 instead of WIN32 (_WIN32 is a compiler built-in)
add virtual destructor to bFile
2010-02-06 18:50:45 +00:00
erwin.coumans 744774d9ad re-added SpuSync.h, it might come handy at some stage 2010-02-06 01:09:29 +00:00
erwin.coumans a5f51905e8 deal with degenerate triangles in the btInternalEdgeUtility
thanks to scarrow, see http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603&start=15
2010-02-05 05:31:08 +00:00
erwin.coumans 04b7a7fff4 remove dead btSliderConstraint code 2010-02-05 01:51:57 +00:00