Commit Graph

2345 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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