1
Bullet Continuous Collision Detection and Physics Library
2
Primary author and maintainer: Erwin Coumans
4
This ChangeLog is incomplete, for an up-to-date list of all fixed issues see http://bullet.googlecode.com
5
using http://tinyurl.com/yabmjjj
8
- Bullet 2.78 release 2383
10
- Added Separatinx Axis Test and Polyhedral Clipping support (See InternalEdgeDemo)
11
- Added speculative contacts as CCD response method (See CcdPhysicsDemo)
12
- OpenCL and DirectCompute cloth as basic support for capsule collision
15
- autotools now uses CamelCase naming for libraryes just like cmake:
16
libbulletdynamics -> libBulletDynamics, libbulletmath -> libLinearMath
19
- Preparing for Bullet 2.77 release, around revision r2135
20
- Added an OpenCL particle demo, running on NVidia, AMD and MiniCL
21
Thanks to NVidia for the original particle demo from their OpenCL SDK
22
- Added GPU deformable object solvers for OpenCL and DirectCompute, and a DirectX 11 cloth demo
24
- Create a separate library for MiniCL,
25
MiniCL is a rudimentary OpenCL wrapper that allows to compile OpenCL kernels for multi-core CPU, using Win32 Threads or Posix
26
- Moved vectormath into Bullet/src, and added a SSE implementation
27
- Added a btParallelConstraintSolver, mainly for PlayStation 3 Cell SPUs (although it runs fine on CPU too)
30
- Dynamica Maya plugin (and COLLADA support) is moved to http://dynamica.googlecode.com
33
- Bullet 2.76 release, revision 2010
34
- support for the .bullet binary file format
35
- btInternalEdgeUtility to adjust unwanted collisions against internal triangle edges
36
- Improved Maya Dynamica plugin with better constraint authoring and .bullet file export
40
- Minor update to Bullet 2.75 release, revision 1776
41
- Support for btConvex2dShape, check out Bullet/Demos/Box2dDemo
42
- Fixes in build systems
43
- Minor fix in btGjkPairDetector
44
- Initialize world transform for btCollisionShape in constructor
49
- Added SPH fluid simulation in Extras, not integrated with rigid body / soft body yet
50
Thanks to Rama Hoetzlein to make this contribution available under the ZLib license
51
- add special capsule-capsule collider code in btConvexConvexCollisionAlgorithm, to speed up capsule-ragdolls
52
- soft body improvement: faster building of bending constraints
53
- soft body improvement: allow to disable/enable cluster self-collision
54
- soft body fix: 'exploding' soft bodies when using cluster collision
55
- fix some degenerate cases in continuous convex cast, could impact ray cast/convex cast
56
Thanks to Jacob Langford for the report and reproduction cases, see http://code.google.com/p/bullet/issues/detail?id=250&can=1&start=200
57
- re-enabled split impulse
58
- added btHinge2Constraint, btUniversalConstraint, btGeneric6DofSpringConstraint
59
- demonstrate 2D physics with 2D/3D object interaction
63
- Fix contact refresh issues with btCompoundShape, introduced with btDbvt acceleration structure in btCompoundCollisionAlgorithm
64
- Made btSequentialImpulseConstraintSolver 100% compatible with ODE quickstep
65
constraints can use 'solveConstraint' method or 'getInfo/getInfo2'
68
- Add highly optimized SIMD branchless PGS/SI solver innerloop
71
- Add compound shape export to BulletColladaConverter
72
Thanks to JamesH for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=12&t=2840
73
- Fix compiler build for Visual Studio 6
74
Thanks to JoF for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2841
77
- Add CProfileManager::dumpAll() to dump performance statistics to console using printf.
78
- Add support for interaction between btSoftBody and btCollisionObject/btGhostObject
81
- Fix PosixThreadSupport
82
- Add improved btHeightfieldTerrainShape support and new Demos/TerrainDemo
83
Thanks to tomva, http://code.google.com/p/bullet/issues/detail?id=63&can=1
84
- Moved kinematic character controller from Demos/CharacterDemo into src/BulletDynamics/Character/btKinematicCharacterController.cpp
87
- reduced default memory pool allocation from 40Mb to 3Mb. This should be more suitable for all platforms, including iPhone
88
- improved CUDA broadphase
89
- IBM Cell SDK 3.x support, fix ibmsdk Makefiles
90
- improved CMake support with 'install' and 'framework option
93
- add btAxisSweep::resetPool to avoid non-determinism due to shuffled linked list
94
Thanks to Ole for the contribution,
97
- disabled btTriangleMesh duplicate search by default, it is extremely slow
98
- added Extras/IFF binary chunk serialization library as preparation for in-game native platform serialization (planned COLLADA DOM -> IFF converter)
101
- added SCE Physics Effects box-box collision detection for SPU/BulletMultiThreaded version
102
See Bullet/src/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp
103
Thanks to Sony Computer Entertainment Japan, SCEI for the contribution
106
- Added btGhostObject support, this helps character controller, explosions, triggers and other local spatial queries
109
- Moved aabb to btBroadphaseProxy, improves rayTest dramatically. Further raytest improvements using the broadphase acceleration structures are planned
110
- Moved BulletMultiThreaded from Extras to /src/BulletMultiThreaded for better integration
114
- Add support for autoconf automake
115
./autogen.sh and ./configure will create both Makefile and Jamfile. CMake and autogenerated Visual Studio projectfiles remain supported too.
116
- Improved ColladaConverter: plane shape export, and callback for shape construction to allow deletion of memory
119
- Improved Soft Body support, fixed issues related to soft body colliding against concave triangle meshes
120
- Shared more code between regular version and SPU/BulletMultiThreaded, in particular GJK/EPA
123
- Fixed rotation issues in Dynamic Maya Plugin
126
- Enable CCD motion clamping for btDiscreteDynamicsWorld, to avoid tunneling. A more advanced solution will be implemented in btContinuousDynamicsWorld.
129
- Add btScaledBvhTriangleMeshShape, to allow re-use of btBvhTriangleMeshShape of different sizes, without copying of the BVH data.
132
- Enabled Demos/ForkLiftDemo
133
Thanks Roman Ponomarev.
136
- Added btCudaBroadphase in Extras/CUDA: some research into accelerating Bullet using CUDA.
137
Thanks to the particle demo from the NVidia CUDA SDK.
140
- Several bug fixes and contributions related to inertia tensor, memory leaks etc.
144
- Updated CDTestFramework, with latest version of OPCODE Array SAP. See Extras/CDTestFramework
145
Thanks to Pierre Terdiman for the update
148
- Walt Disney Studios contributes their in-house Maya Plugin for simulating Bullet physics, with options for other engines such as PhysBam or PhysX.
149
Thanks to Nicola Candussi and Arthur Shek
152
- Improved performance for btDbvtBroadphase, based on dual dynamic AABB trees (one for static, one for dynamic objects, where objects can move from one to the other tree)
153
Thanks to Nathanael Presson again, for all his work.
156
- Added Havok .hkx to COLLADA Physics .dae converter patch+information
157
- Fix btSubsimplexConvexCast
158
Thanks to Nacho, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2422)
159
- Fix in rendering, GL_STENCIL
160
- btTriangleIndexVertexArray indices should be unsigned int/unsigned short int,
161
- Made InternalProcessAllTriangles virtual, thanks to
162
Both thank to Fullmetalcoder, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2401
163
- clamp impulse for btPoint2PointConstraint
164
Thanks to Martijn Reuvers, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2418
165
- Free memory of bvh, pass in scaling factor (optional)
166
Thanks to Roy Eltham, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2375
171
- Fixed a performance issues reported by 'reltham'
172
- Added btDbvtBroadphase::optimize() for people who want good performances right
173
away or don't do dynamics.
174
- fixed compilation issues when DBVT_BP_PROFILE was set.
176
- Fixed singular matrix issues related to polar decomposition (flat meshes).
178
- Shadows (enable/disable through 'g' or DemoApplication::setShadows(bool)).
179
- Texture can be enable/disable through 'u'
181
- fixed compilation issues.
182
All thanks to Nathanael Presson
185
- Added btMultimaterialTriangleMeshShape and MultiMaterialDemo
186
Thanks to Alex Silverman for the contribution
189
- Added initial support for kinematic character controller
190
Thanks to John McCutchan
193
- Added ray cast support for Soft Bodies
194
Thanks to Nathanael Presson for the contribution
197
- Cleanup of Stan Melax ConvexHull, removed Extras/ConvexHull, moved sources into LinearMath/BulletCollision
200
- Added btSliderConstraint and demo
201
Thanks Roman Ponomarev
204
- Fixed btMinkowskiSumShape, and added hitpoint to btSubsimplexConvexCast
207
- Added Extras/CdTestFrameWork
208
Thanks Pierre Terdiman
211
- Added posix thread (pthread) support
215
- Added Soft Body, cloth, rope and deformable volumes, including demos and interaction
216
Thanks Nathanael Presson for this great contribution
219
- Improved BulletColladaConverter
220
Thanks John McCutchan
223
- btMultiSapBroadphase in a working state. Needs more optimizations to be fully useable.
224
- Allow btOptimizedBvh to be used for arbitrary objects, not just triangles
225
- added quicksort to btAlignedObjectArray
226
- removed btTypedUserInfo, added btHashMap
229
- Moved quickstep solver and boxbox into Bullet/src folder
230
Thanks Russell L. Smith for permission to redistribute Open Dynamics Engine quickstep and box-box under the ZLib license
233
- Added initial version for Character Control Demo
234
- Applied fixes to IBM Cell SDK 3.0 build makefiles
235
Thanks Jochen and mojo for reporting/providing patch: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1922
238
- Bugfixes in ConvexCast support against the world.
239
Thanks to Isgmasa for reporting/providing fix: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1823
242
- Added btCapsuleShapeX and btCapsuleShapeZ for capsules around X and Z axis (default capsule is around Y)
245
- Added btTypedUserInfo, useful for serialization
248
- Add support for 16 and 32-bit indices for SPU / BulletMultiThreaded version.
251
- Added COLLADA Physics export/serialization/snapshot from any Bullet btDynamicsWorld. Saving the physics world into a text .xml file is useful for debugging etc.
254
- Added Stan Melax Convex Hull utility library in Extras/ConvexHull. This is useful to render non-polyhedral convex objects, and to simplify convex polyhedra.
257
- Add support for batch raycasting on SPU / BulletMultiThreaded
260
- Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
261
Thanks Vangelis Kokkevis for pointing this out.
262
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
263
- Fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
264
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
265
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
266
- 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).
267
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
270
- Added Hello World and BulletMultiThreaded demos
271
- Add portable version of BulletMultiThreaded, through SequentialThreadSupport (non-parallel but sharing the same code-path)
272
- Add Cmake support for AllBulletDemos
276
- Moved the 'btRigidBody::clearForce' to the end of the stepSimulation, instead of in each substep.
277
See discussion http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1601
278
- Added btConvexPlaneCollisionAlgorithm, makes planes perform better, and prevents tunneling
279
Thanks Andy O'Neil for reporting the performance/functionality issue
280
- Fixes for IBM Cell SDK 3.0
281
Thanks to Jochen Roth for the patch.
284
- Fixes in btHeightfieldTerrainShape
285
Thanks to Jay Lee for the patch.
288
- Only update aabb of active objects
289
Thanks Peter Tchernev for reporting (http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1764 )
290
- Added workaround to compile libxml under Visual Studio 2008 Beta 2
291
- Make glui compile under MSVC 9.0 beta (vsnprintf is already defined)
294
- Added DynamicControlDemo, showing dynamic control through constraint motors
295
Thanks to Eddy Boxerman
296
- Add support for generic concave shapes for convex cast.
297
- Added convex cast query to collision world.
298
- Added workaround for OpenGL bug in Mac OS X 10.5.0 (Leopard)
299
- Added concave raycast demo
300
All above thanks to John McCutchan (JMC)
301
- Fixed issues that prevent Linux version to compile.
302
Thanks to Enrico for reporting and patch, see
303
- Fixed misleading name 'numTriangleIndices' into 'numTriangles'
304
Thanks Sean Tasker for reporting:
307
- Added raycast against trianglemesh. Will be extended to object cast soon.
308
Thanks John McCutchan (JMC)
309
- make getNumPoints const correct, add const getPoints().
310
Thanks Dirk Gregorius
311
- Bugfix: allow btCollisionObjects (non-btRigidBody) to interact properly with btRigidBody for cache-friendly btSequentialImpulseConstraintSolver.
312
Thanks Andy O'Neil for pointing this out.
313
- Bugfix: don't fail if spheres have identical center, use arbitrary separating normal (1,0,0)
314
Thanks Sean Tasker for reporting! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1681
318
- Added hierarchical profiling
319
- Fixed memory leak in btMultiSapBroadphase,
320
- Fixed hash function (typo, should use 2 proxies)
321
Thanks to Stephen (shatcher) for reporting and fixes! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696
324
- Fixed parallel solver (BulletMultiThreaded) friction issue
325
- Terminate Win32 Threads when closing the CcdPhysicsDemo (when USE_PARALLEL_SOLVER/USE_PARALLEL_DISPATCHER is defined)
328
- Added support for 16-bit indices for triangle meshes
329
- Added support for multiple mesh parts using btBvhTriangleMeshShape.
330
Thanks to Tim Johansson
333
- All memory allocations go through btAlignedAlloc/btAlignedFree. User can override this to verify memory leaks
334
- added a few more demos to AllBulletDemos
335
- fix for one of the constructors of btHingeConstraint
339
- included glui, a GLUT/OpenGL based toolkit for some graphical user elements
340
Removed dynamic_cast from glui, to allow linkage without rtti
341
- added Box2D framework using glui, allowing all demos to run within one executable
342
Thanks Erin Catto for the FrameWork skeleton (http://www.box2d.org)
345
- Allow user to pass in their own memory (stack and pool) allocators, through collisionConfiguration. See demos how to use this
348
- Included working version of Cell SPU parallel optimized version for Libspe2 SPU task scheduler.
349
This version compiles and runs on Playstation 3 Linux and IBM CellBlade, see BulletSpuOptimized.pdf for build instructions
350
(Official Playstation 3 developers can request a SPURS version through Sony PS3 Devnet.)
351
Thanks to IBM 'Extreme Blue' project for the contribution
352
http://www-913.ibm.com/employment/us/extremeblue/
353
Thanks Minh Cuong Tran, Benjamin Hoeferlin, Frederick Roth and Martina Huellmann
354
for various contributions to get this initial Libspe2 parallel version up and running.
357
- made 'btCollisionShape::calculateLocalInertia' const
358
Thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514
359
- applied a large patch to remove warnings
360
Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568
361
- removed SSE includes, added #incude <string.h> for memset in Extras/quickstep, thanks Eternl Knight
364
- added Hashed Overlapping Pair Cache, recommended by Pierre Terdiman. It works like a charm, thanks Pierre and Erin Catto (code from Box2D)
365
- modified some margins inside btBoxShape, btCylinderShape and btSphereShape
366
- added cone debug rendering (for cones with x, y and z up-axis)
367
- added improvements for optional Extra/quickstep, thanks to Remotion
368
- some performance improvements for Bullet constraint solver
371
- upgraded GIMPACT to version 0.3
372
Thanks to Francisco Leon
375
- added contribution from IBM Extreme Blue project for Libspe2 support. This allow to execute BulletMultiThreaded on Cell SPU under PS3 Linux and Cell Blade. See http://www-913.ibm.com/employment/us/extremeblue
376
Thanks to Minh Cuong Tran, Frederick Roth, Martina Heullmann and Benjamin Hoeferlin.
379
- Improved btGenericD6Constraint. It can be used to create ragdolls (similar to the new btConeTwistConstraint). See GenericJointDemo
380
- Added support for Bullet constraints in the optional Extras/quickstep ODE solver. See CcdPhysicsDemo, enable #COMPARE_WITH_QUICKSTEP and add libquickstep to the dependencies.
381
For both patches/improvements thanks Francisco Leon/projectileman
384
- removed union from btQuadWordStorage, it caused issues under certain version of gcc/Linux
387
- Reverted constraint solver, due to some issues. Need to review the recent memory allocation changes.
388
- Fixed issue with kinematic objects rotating at low speed: quaternion was de-normalized, passing value > 1 into acosf returns #IND00 invalid values
389
- 16 byte memory alignment for BVH serialization
390
- memory cleanup for btPoolAllocator
393
- Added serialization for BVH/btBvhTriangleMeshShape, including endian swapping. See ConcaveDemo for an example.
394
Thanks to Phil Knight for the contribution.
395
- Fixed issues related to stack allocator/compound collision algorithm
396
Thanks Proctoid, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=18&t=1460
397
- Increase some default memory pool settings, and added a fallback for the constraints solver to use heap memory
398
- Removed accidential testing code in btScalar.h related to operator new.
399
- Enable btAxis3Sweep and bt32BitAxis3Sweep to be linked in at the same time, using template
402
- Replaced several dynamic memory allocations by stack allocation and pool allocations
403
- Added branch-free quantized aabb bounding box overlap check, works better on Playstation 3 and XBox 360
404
Thanks to Phil Knight. Also see www.cellperformance.com for related articles
405
- Collision algorithms and settings for the memory/stack allocator can be done using btDefaultCollisionConfiguration
406
This is an API change. See demos how to modify existing implementations with a one-liner.
407
- Register several collision algorithms by default (sphere-sphere, sphere-box, sphere-triangle)
408
- Use other traveral method for BVH by default, this improves triangle mesh collision performance.
412
Thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
413
- fixed double precision build issues
414
Thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
417
- fixed bug in btMatrix3x3::transposeTimes(const btMatrix3x3& m) const. Luckily it wasn't used in core parts of the library (yet).
421
- fixed bug in Extras/GIMPACT 0.2 related to moving triangle meshes
422
Thanks Thomas, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1368
425
- added parallel constraint solver. Works on Playstation 3 Cell SPU and multi core (Win Threads on PC and XBox 360).
426
See Extras/BulletMultiThreaded for SpuSolverTask subfolder and SpuParallelSolver.cpp
427
Thanks Marten Svanfeldt (Starbreeze Studios)
428
- fixed some bugs related to parallel collision detection (Extras/BulletMultiThreaded)
429
Thanks Marten Svanfeldt (Starbreeze Studios)
432
- added compound and concave-convex (swapped) case for BulletMultiThreaded collision detection, thanks to Marten Svanfeldt
433
- refactored broadphase and overlapping pair cache. This allows performance improvement by combining multiple broadphases. This helps add/remove of large batches of objects and large worlds. See also Pierre Terdiman forum topic:
434
http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
439
Thanks to Marten Svanfeldt (Starbreeze Studios)
441
- added Vector Math library for SIMD 3D graphics linear algebra (vector, matrix, quaternion)
442
See Bullet/Extras/vectormathlibrary
443
Supports SIMD SSE, PowerPC PPU and Cell SPU (including PS3 Linux and CellBlade), as well as generic portable scalar version
444
Will be used to improve BulletMultiThreaded performance
445
Open Sourced by Sony Computer Entertainment Inc. under the new BSD license
446
- added SIMD math library
447
4-way SIMD for common math functions like atan2f4, cosf4, floorf4, fabsf4, rsqrtf4 etc. Used by Vector Math library under PPU and SPU.
448
Supports PowerPC (PPU) and Cell SPU, including PS3 Linux and CellBlade.
449
See Bullet/Extras/simdmathlibrary
450
Open sourced by Sony Computer Entertainment Inc. under the new BSD license
454
- added several patches: per-rigidbody sleeping threshold. added Assert to prevent deletion of rigidbody while constraints are still pointing at it
455
Thanks to Marten Svanfeldt (Starbreeze Studios)
458
- fixed relative #include paths again. We can't use "../" relative paths: some compilers choke on it (it causes extreme long paths)
459
Within the libraries, we always need to start with "BulletCollision/" or "BulletDynamics/ or "LinearMath/"
462
- Updated Bullet User Manual
465
- added btConeTwistConstraint, especially useful for ragdolls. See Demos/RagdollDemo
466
Thanks to Marten Svanfeldt (Starbreeze Studios)
469
- btHeightfieldTerrainShape: Added heightfield support, with customizations
470
- Upgraded to GIMPACT 0.2, see Extras/GIMPACT and MovingConcaveDemo
471
- Several patches from Marten Svanfeldt (Starbreeze Studios)
472
Improved collision filtering (in broadphase and rigidbody)
473
Improved debug rendering
474
Allow to set collision filter group/mask in addRigidBody
478
- Changed btAlignedObjectArray to call copy constructor/replacement new for duplication, rather then assignment operator (operator=).
481
- Added multi-threading. Originally for Playstation 3 Cell SPU, but the same code can run using Win32 Threads using fake DMA transfers (memcpy)
482
Libspe2 support for Cell Blade / PS3 Linux is upcoming
483
See Extras/BulletMultiThreaded. Usage: replace btCollisionDispatcher by btSpuGatheringCollisionDispatcher
485
- Added managed Bullet library, entirely rewritten in C# for Windows and XBox 360 XNA
487
Thanks to KleMiX, aka Vsevolod Klementjev
490
- sign-bit went wrong in case of 32-bit broadphase, causing quantization problems.
491
Thanks DevO for reporting.
494
- Fixed quantization problem for planar triangle meshes in btOptimizedBvh
495
Thanks Phil Knight for reporting and helping to fix this bug.
498
- btAxisSweep3: Fixed a bug in btAxisSweep3 (sweep and prune) related to object removal. Only showed up when at least one btStaticPlaneShape was inserted.
499
Thanks tbp for more details on reproducing case.
500
- btAxisSweep3: Fixed issue with full 32bit precision btAxisSweep3 (define BP_USE_FIXEDPOINT_INT_32), it used only 0xffff/65536 for quantization instead of full integer space (0xffffffff)
501
- btRaycastVehicle: Added 'getForwardVector' and getCurrentSpeedKmHour utility functions
502
- Fixed local scaling issues (btConvexTriangleMeshShape, btBvhTriangleMeshShape, removed scaling from btMatrix3x3).
503
Thanks Volker for reporting!
504
- Added second filename search, so that starting BspDemo and ConvexDecompositionDemo from within Visual Studio (without setting the starting path) still works
507
- Added braking functionality to btRaycastVehicle
508
- Removed tons of warnings, under MSVC 2005 compilation in -W4
511
- Fixed issues: comma at end of enum causes errors for some compilers
512
- Fixed initialization bug in LocalRayResult ( m_localShapeInfo(localShapeInfo) )
515
- Added refit tree to quantized stackless tree, and updated ConcaveDemo as example.
518
- Added constraint solver optimizations, avoiding cross products during iterations, and gather rigidbody/constraint info in contiguous memory (btSolverBody/btSolverConstraint)
519
- These optimizations don't give large benefit yet, but it has good potential. Turned on by default. Can be switched off using solver->setSolverMode(SOLVER_RANDMIZE_ORDER).
520
- Enabled anti-jitter for rigid bodies. This is experimental, and can be switched off by setting a global (it is experimental so no proper interface) gJitterVelocityDampingFactor = 1.0;
521
- Fixed bug in islandmanifold.heapSort(btPersistentManifoldSortPredicate()); , thanks Noehrgel for reporting this (affected Sun Solaris)
524
- Added compile-time toggle between on 16-bit and 32-bit fixed-point SAP broadphase.
525
This allows the number of bodies to exceed 32767
526
- Enable useQuantizedAabbCompression on btTriangleMesh, see ColladaDemo
529
- Fixed bug in constraint/island sorting (caused by replacing STL by dedicated btAlignedObjectArray with heapSort)
530
Thanks Clemens Unterkofler for pointing this out!
533
- removed STL from the Bullet library: replace std::vector by btAlignedObjectArray. Also removed the std::set for overlapping pair set, and turned it into an overlapping pair array. The SAP only adds objects, never removed. Removal is postponed for during traversal of overlapping pairs (duplicates and non-overlapping pairs are removed during that traversal).
534
- added heap sort and binary search/linear search to btAlignedObjectArray
535
- fixed wrong cast, thanks Hamstray, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1015
539
- Improved performance of convex collision shapes, cache local AABB instead of recomputation. This fixes issue with very slow performance in larger .bsp levels
542
- Added compressed/quantized AABB tree, 16 bytes per node, while supporting 32-bit (triangle) indices.
543
Should be faster and smaller then original version (quantized aabb check is done in integer space)
544
Original aabb tree nodes are still supported. They are 44 bytes, with full floating point precision and additional subPart index.
545
- added meter-unit scaling support in ColladaConverter.cpp
548
- Build system: updated bullet.pc.in library names
549
- Updated EPA comparison integration (missing parameter)
552
- fixed optimized AABB tree building: in some cases the tree building fails due to unbalanced trees, which generated stack overflow
555
- added contribution to allow double precision collision detection/dynamics. Define BT_USE_DOUBLE_PRECISION in your project and libraries that include Bullet
558
- merged contact and non-contact constraint solving into one loop, will improve stability of jointed bodies during collisions
559
- added first draft for hingeConstraint motor
561
2006 Dec 8, Erwin Coumans
562
- preparation for SIMD: added btAlignedAllocator and btAlignedObjectArray, to replace stl std::vector, same interface, but compatible with 16 byte alignment
563
- cleaned up dependencies in autogenerated msvc projectfiles
564
- aligned btVector3 on 16 bytes boundary, under win32. see if developers will come up with problems
566
2006 Dec 04, Erwin Coumans
567
Added btNearCallback. This is similar to Open Dynamics Engine (ODE) dNearCallback, but important differences:
568
- contact points are persistent (lifetime more then one frame, for warmstarting/incremental contact point management)
569
- continuous collision detection, time of impact
570
Added btRigidBody::isInWorld(), returns true if btRigidBody is inside a btCollisionWorld/btDynamicsWorld derived class
571
Added angularFactor to btRigidbody, this helps some character control (no angular impulse applied)
575
Moved StackAlloc from EPA into LinearMath/btStackAlloc
576
renamed internal class ConcaveShape into btConcaveShape
577
added btHeightfieldTerrainShape (not completed yet)
579
2006 Nov 15 Nathanael Presson
580
Added EPA penetration depth algorithm, Expanding Polytope Algorithm
581
Added Pierre Terdiman penetration depth comparison/test DEMO
582
Fixed Bullet's Minkowski sampling penetration depth solver
583
Contributed by Nathanael Presson
585
2006 Nov 11 Francisco Le�n N�jera
586
Added GIMPACT trimesh collision detection: concave versus concave,
587
Contributed by Francisco Le�n N�jera
590
Minor refactoring: btCollisionObject changes from struct into class, added accessor methods
591
Force use of btMotionState to synchronize graphics transform, disabled old btRigidBody constructor that accepts btTransform
592
Renamed treshold into threshold throughout the code
595
Enable decoupling of physics and graphics framerate using interpolation and internal fixed timestep, based on btMotionState
596
Enabled raycast vehicle demo (still needs tuning)
597
Refresh contact points, even when they are already persistent.
598
Fixed debugDraw colors (thanks pc0de for reporting)
599
Use Dispatcher in ConcaveConvexCollisionAlgorithm (so it uses the registered collision algorithm, not hardcoded convexconcave)
600
Improved performance of constraint solver by precalculating the cross product/impulse arm
601
Added collision comparison code: ODE box-box, also sphere-triangle
602
Added safety check into GJK, and an assert for AABB's that are very large
603
Fixed kinematic support (deriving velocities for animated objects)
604
Updated comparison/optional quickstep solver in Extras
605
UserCollisionAlgorithm demonstrates btTriangleMesh usage (easier trimesh compared to index array version)
606
Removed scaling from btTransform (we only want to deal with rigid transforms)
609
Fixed minor leak in btOptimizeBVH
610
Cleanup of btRigidBody construction
611
added getW() in btQuaternion
612
assert when setLinearVelocity is called on btRigidBody
613
renamed projectfile library from collada-dom to colladadom (to make VC6 happy)
616
Big Refactoring: renamed and moved files, create a replacement for CcdPhysicsEnvironment/CcdPhysicsController.
617
All Bullet classes in LinearMath, BulletCollision and BulletDynamics start with bt, and methods start with lowercase.
618
Moved classes into src folder, which is the only include folder needed.
619
Added 2 headerfiles in src: btBulletCollisionCommon.h and btBulletDynamicsCommon.h
622
Fixed 2 bugs, causing crashes when removing objects. Should do better unit-testing. UnionFind and 3D SAP were involved.
625
Allow programmable friction and contact solver model. User can register their own functions for several interaction types.
626
Improved performance, and removed hardcoded maximum overlaps (switched from C-array to stl::set)
629
Added Bullet 2.0 User Manual
630
Allow registration of custom user collision algorithms
633
Started cleaning up demos
636
Fixed concave collision bug (caused instability/missing collisions in meshes/compounds)
637
Fixed memoryleak in OptimizedBvh, added RayTestSingle to CollisionWorld
638
Prepared for VehicleDemo
639
Increased Performance (island generation for sleeping objects took too much time)
640
Better COLLADA 1.4.1 physics conformance in ColladaDemo
644
Improved CCD for compound and non-convex objects
647
Added per-triangle material (friction/restitution) support for non-convex meshes. See ConcaveDemo for usage.
650
Added CMake support (see http://cmake.org)
651
This can autogenerate makefiles, projectfiles cross platform (including MacOS X Xcode )
652
Just run cmake . in the root folder and it will autogenerate build files
654
2006 July 26 Erwin Coumans
655
Upgraded to COLLADA-DOM 1.4.1, latest SVN version
656
ColladaDemo can export snapshots to .dae
658
2006 July 24 Erwin Coumans
659
Added Compound CollisionShape support
660
(this is still low performance -> requires stackless tree-versus-tree traversal for better performance)
662
2006 July 15 Erwin Coumans
663
Added initial support for Parallel execution (collision detection, constraint solving)
664
See ParallelPhysicsEnvironment in Extras\PhysicsInterface\CcdPhysics
666
2006 July 10 Erwin Coumans
667
Added MacOS X support (some build issues mainly)
669
2006 July 5 Erwin Coumans
670
Improved COLLADA 1.4 physics import, both COLLADA-DOM and FCollada
672
2006 June 29 Erwin Coumans
673
Refactoring of the broadphase
674
Moved some optional files to Extras: Algebraic ccd and EPA, quickstep
675
Moved the limits on bodies/overlap to 32k and 65k
677
2006 June 25 Erwin Coumans
678
Added basic Collision Filtering, during broadphase
679
Allow adding meshes to the TriangleIndexVertexArray,
680
(input for TriangleMeshShape)
681
Preparation for CompoundShape
683
2006 June 19 Erwin Coumans
684
Added support for COLLADA Physics Import.
685
Both jam and Visual Studio can compile ColladaDemo
687
2006 June 18 Dirk Gregorius <dirk@dirkgregorius.de>
688
Started implementing Generic6DOF joint and setup basic interface
691
2006 June 17 Frank Richter <resqu@gmx.ch>
692
Bumped version in configure.ac to 1.5.6 (assuming that "1.5f" is
693
the next version released).
694
Updated files in mk/autoconf and mk/jam with copies from CS; fixes a
695
GLU detection issue on MinGW.
696
Set msvc/bullet_ico.ico as the default application icon.
697
Disabled exceptions for gcc builds.
698
Applied a patch from Michael D. Adams to fix a warning with gcc.
699
2006 jUNE 16 Erwin Coumans
700
Constraints now merge simulation islands.
703
Improved GJK accuracy, fixed GjkConvexCast issue, thanks to ~MyXa~ for reporting
706
Added restitution support
707
Moved out Friction and Dynamics info from ManifoldPoint (removed logical dependency)
708
Added a void* m_userPersistentData in ManifoldPoint.
709
Added a ContactDestroyedCallback, to allow user to handle destruction of m_userPersistentData
712
Fixed some bugs in friction / jacobian calculations. Reported by Dirk Gregorius. Thanks!
715
Fixed raycasting filtering
716
Moved repository to SVN at https://svn.sourceforge.net/svnroot/bullet
719
Moved raycasting to CollisionWorld, to make it more generic
720
Added basic CCD option in the CcdCollisionDemo
721
Fixed 'noResponse' mode, for triggering rigidbodies (useful for Artificial Intelligence queries)
722
Improved Bullet/ODE sample (in Extras)
725
Separating Axis Test (SAT) convex hull collision detector, contribution by Simon Hobbs
726
Added SIMD SSE Math classes (for above SAT)
727
Added Mouse picking in CcdPhysicsDemo
728
Improved penetration depth estimation in MinkowskiPenetrationDepthSolver, both accuracy and performance
729
Added Hinge constraint
730
Added quickprof profiling (see http://sourceforge.net/projects/quickprof )
732
2006 March 21 Frank Richter <resqu@gmx.ch>
733
Removed VC manifest files.
734
Removed superfluous "grpplugins" projects.
736
2006 March 20 Erwin Coumans
737
Clamped the acculumated impulse rather then intermediate impulse (within the iteration)
738
Use the persistent contacts for reusing the impulse
739
Separated friction and normal solving for better stability
740
Decreased the default number of iterations of the constraint solver from 10 to 4
742
2006 March 19 Frank Richter <resqu@gmx.ch>
743
Removed a couple of CSisms from the VC projects.
744
Fixed VC include & lib paths to go to the Addtional* options
745
instead the command line arguments.
746
Added pkgconfig support.
748
2006 March 14 Frank Richter <resqu@gmx.ch>
749
Added support for shipped GLUT on MinGW.
750
Fixed GLUT support on MinGW.
752
2006 March 13 Frank Richter <resqu@gmx.ch>
753
Bolted on Jam-based build system.
754
Generated VC project files.
756
Fixed Linux build issues.
759
Added 3D Sweep and Prune Broadphase Collision Detection, Contribution from Simon Hobbs.
762
Minor change in license to ZLib/LibPNG
763
This makes it legally a bit easier to deploy on Playstation 3
764
Prepared for more generic constraints, added ConstraintsDemo
767
Rearranged files and dependencies to allow for easier standalone Collision Detection without Bullet Dynamics.
768
See Demos/CollisionInterfaceDemo and Extras/ode/ode/test/test_BulletGjk.cpp for examples how to use.
771
Bullet 0.2 release with demos, sources, doxygen, draft manual
774
First public release of Bullet
777
... todo: add history
779
2003 Initial version (continuous collision detection)