Commit Graph

63 Commits

Author SHA1 Message Date
johnmccutchan
702323f27a Initial work on batch raycast support. 2008-01-08 23:38:33 +00:00
ejcoumans
d051e2eacb First commit of 2008, Happy New Year!
Add option to compile without btClock and without profiling: comment out USE_BT_CLOCK, and #define BT_NO_PROFILE
Fixed typo/case in #include "LinearMath/btQuickProf.h", in SpuParallelSolver.cpp
Removed unnecessary files from libxml CMakeLists.txt
2008-01-03 04:42:00 +00:00
ejcoumans
17a214a2b3 - Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
This was harder using default arguments. Thanks Vangelis Kokkevis for pointing this out.
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
- fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
- Removed obsolete QUICKPROF BEGIN/END_PROFILE, and enabled BT_PROFILE. Profiling is enabled by default (see Bullet/Demos/OpenGL/DemoApplication.cpp how to use this).
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
2007-12-17 04:26:36 +00:00
ejcoumans
c09a09d169 replaced cellDmaSmallGet by mfc command 2007-12-15 03:03:09 +00:00
ejcoumans
61ffa6a1b5 Updated cmake files, added header files, Thanks John McCutchan
re-autogenerated msvc projectfiles with new HelloWorld/BulletMultiThreaded Demo 
Minor fixes
2007-12-15 02:48:24 +00:00
ejcoumans
6dff743d68 Cleanup some #defines in parallel collision detector, add conditional freeglut support to return from glutMainLoop. 2007-12-15 00:40:34 +00:00
ejcoumans
c5e6044e53 added MultiThreadedDemo 2007-12-14 07:17:35 +00:00
ejcoumans
d7354e5387 get SequentialThreadSupport to compile on the Mac 2007-12-14 06:21:51 +00:00
ejcoumans
599579803e Added portable non-parallel implementation for btThreadSupportInterface: SequentialThreadSupport, Thanks John McCutchan (JMC)
Added CMake support for BulletMultiThreaded.
2007-12-13 03:47:47 +00:00
ejcoumans
8d10a6ba1d Fix friction and restitution in BulletMultiThreaded (collision detection and parallel solver)
Thanks to lsgmasa for reporting, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1758
2007-12-12 03:41:35 +00:00
johnmccutchan
66cdbb9659 Fixes for IBM Cell SDK 3.0 by Jochen Roth 2007-12-11 19:49:09 +00:00
ejcoumans
58014b9848 2007-11-21 04:01:12 +00:00
ejcoumans
cab75b53ec added hierarchical profiling (needs more cleanup)
avoid dynamic allocations in btRaycastVehicle
2007-11-21 03:00:40 +00:00
ejcoumans
56c69bc42e - stop threads when exiting demo that uses multi threading
- improved friction model for parallel solver (align the friction direction with projected velocity, unless the projection is close to zero (only then use 2 arbitrary axis orthogonal to contact normal)
2007-11-11 22:48:08 +00:00
ejcoumans
232f41353f fixed issue with BulletMultiThreaded parallel solver friction constraint initialization, and removed unused velocityImpulse. 2007-11-11 18:39:47 +00:00
ejcoumans
550c500ca7 Set debug drawer for demo
Fixed issue with toggle of activation in the DemoApplication
added hint/todo for Win32ThreadSupport
2007-10-23 01:16:31 +00:00
ejcoumans
c625e756fe replaced btSimdMinMax.h by btMinMax.h in a few remaining places 2007-10-19 20:48:06 +00:00
ejcoumans
830c096e10 added a cellDmaLargeGetReadOnly/cellDmaGetReadOnly, which avoid memcpy on non-SPU platforms.
enabled it for triangle mesh aabb DMA transfers. Todo: check if it is worth also modifying other parts of the code to avoid the memcpy into the 256kb Task memory.
2007-10-16 23:58:26 +00:00
ejcoumans
6303d98844 - use mfc directly, instead of cellDmaSmallGet (allow sizes under 32 bytes, instead of 16)
- align btBroadphaseProxy to 16 bytes
2007-10-16 00:52:23 +00:00
ejcoumans
6797ee41cb updated BulletMultiThreaded Libspe2 version, it now runs parallel collision detection properly on IBM Cell SDK 2.1, with Playstation 3 Linux on SPUs. 2007-10-15 05:45:12 +00:00
ejcoumans
e13cbe06ba removed unnecessary files from Libspe2 Makefile 2007-10-15 01:18:32 +00:00
ejcoumans
ffcdb0f93d BulletMultiThreaded needs to refreshContactPoint for contact manifold (this has been moved to the collision detector, instead of constraint solver)
BulletMultiThreaded support function for box shouldn't compensate for the collision margin anymore
2007-10-14 01:51:07 +00:00
ejcoumans
9e530a005c make parallel solver compile on MSVC 6 2007-10-12 06:59:59 +00:00
ejcoumans
0405ce278a use size_t instead of int, for allocator
added hashtable based PairManager, thanks Pierre Terdiman and Erin Catto
improved friction in 'cachefriendly' solver
moved 'refreshcontactpoints' into collision detection, instead of solver
avoid linear search for contact manifolds, by storing an index
ignore margin for sphere shape (its entire radius is already margin)
avoid alignment checks in BVH serialization, they don't compile on 64-bit architectures
made 'bomb' box more heavy
2007-10-11 03:17:54 +00:00
ejcoumans
cc9a42d4e3 update build for IBM Cell SDK 2007-10-03 00:38:08 +00:00
ejcoumans
150f7f704b pass vector by reference (alignment) 2007-09-30 03:33:12 +00:00
ejcoumans
c98a678c9a Makefile to create SPU elf and PPU lib for libspe2 parallel Cell SPE support. Contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:44:33 +00:00
ejcoumans
29dd9681f4 Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:43:51 +00:00
ejcoumans
5ebab3e59b Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:37:25 +00:00
ejcoumans
dae8b658da Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:36:31 +00:00
ejcoumans
0ff4444118 Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:35:47 +00:00
ejcoumans
b2b2ea71c6 Added libspe2 support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:33:56 +00:00
ejcoumans
811c105c24 align btQuadWord on 16byte boundary
slightly improved friction model
2007-09-25 06:58:53 +00:00
ejcoumans
08d036afc7 multi-threading improvements: optionally use software caching (IBM/PS3), move some code from cpp to header to inline. 2007-09-20 22:42:56 +00:00
ejcoumans
b054f375bc - Added serialization to btBvhTriangleMeshShape/btOptimizedBvh. See ConcaveDemo for example usage.
- added bt32BitAxisSweep3, which co-exists without recompilation, using template class. This broadphase is recommended for large worlds with many objects (> 16384), until btMultiSwap is finished.
- Fixed some recent issues in Bullet 2.57 related to compound (thanks Proctoid) and memory allocations
2007-09-10 01:14:42 +00:00
ejcoumans
87df3d0f32 Based on feedback from another professional game company, there are several improvements, including some API change...
Some dynamic memory allocations have been replace by pool allocation or stack allocations.
quantized aabb versus quantized aabb overlap check is made branch-free (helps a lot on consoles PS3/XBox 360)
Collision algorithms are now created through a new btDefaultCollisionConfiguration, to decouple dependency (this is the API change):
Example:
	btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
	m_dispatcher = new	btCollisionDispatcher(collisionConfiguration);
2007-09-08 05:40:01 +00:00
ejcoumans
fa2be67e8a added preferred direction, to improve penetration depth quality (better matching collision normal) for triangle meshes. 2007-08-22 01:09:48 +00:00
ejcoumans
63d349ad5e don't create an empty algorithm when not searching, thanks Marten SvanFeldt for pointing this out 2007-08-15 15:33:56 +00:00
ejcoumans
b43b8f0f75 - added 'init' function for DoubleBuffer, in case constructor is not called.
- use proper transform for concave case
thanks Marten for the patch
2007-08-15 04:16:25 +00:00
ejcoumans
620b67b752 some changes towards libspe2 support 2007-08-13 04:27:36 +00:00
ejcoumans
7834825a43 added parallel constraint solver (for CELL Spu and multi-core, work in progress)
Thanks Marten Svanfeldt/Starbreeze Studios for the contribution
2007-08-12 17:39:15 +00:00
ejcoumans
f19bc68408 fixed Win32 Threaded, by waiting for multiple objects (it was re-using the same task all the time)
Thanks Marten Svanfeldt (Starbreeze Studios) for the fix
2007-08-12 17:37:36 +00:00
ejcoumans
ec22825e65 added parallel solver (work in progress) and made modifications to demo/constraints to allow for getting the type without using virtual functions (needed on CELL SPU processors) 2007-08-12 17:27:33 +00:00
ejcoumans
5279f9e129 BulletMultiThreaded (SPU/multi-core): added compound shape support and concave-convex (swapped case). Thanks to Marten Svanfeldt 2007-08-02 20:16:58 +00:00
ejcoumans
38b7f474c3 Added better support for btUniformScalingShape, by moving some data that is not shared from btConvexShape to btConvexInternalShape. This reduces the sizeof btUniformScalingShape to 16 bytes (from 64).
This is good when having lots of re-used shapes with different sizes.

Convex shapes will need to derive from btConvexInternalShape (which is a subclass of btConvexShape). We could have renamed btConvexShape to 'btConvexShapeInterface' (can still do that later)
2007-07-28 21:10:21 +00:00
ejcoumans
6915b168b2 2007-07-09 05:35:20 +00:00
ejcoumans
121fd7808e Changed BulletMultiThreaded Thread Support to be passed in, rather then global 'Win32ThreadSupport'/'Libspe2ThreadSupport' etc.
This allows developer to hookup Bullet to a custom task scheduler, by deriving from btThreadSupportInterface.
2007-07-09 03:21:33 +00:00
ejcoumans
48fbe0d6ad removed some obsolete include files 2007-06-16 02:46:49 +00:00
ejcoumans
272a7dfac4 More work on multi-threaded version, fixed alignment issues in DMA.
BulletMultiThreaded shared implementation works now on both Win32 Threads and PS3 Cell SPU.
2007-06-16 02:06:24 +00:00
ejcoumans
ea4dfc15d5 updated multi threading shared code on multiple platforms. 2007-06-15 02:06:56 +00:00