Commit Graph
100 Commits
Author SHA1 Message Date
erwin.coumans a32efa48c1 add BulletQuickstart.pdf and a reference to it from the old Bullet_User_Manual.pdf
add HelloWorld demo to premake
2012-10-08 19:01:47 +00:00
erwin.coumans 30b88f2f8e more work on the new Bullet manual/quickstart guide, and cross reference to HelloWorld.cpp source code 2012-10-06 20:56:44 +00:00
erwin.coumans 48e932c8d6 fix build 2012-10-05 22:12:41 +00:00
erwin.coumans eaabf1a2c8 Expose btManifoldResult::calculateCombinedRestitution and btManifoldResult::calculateCombinedFriction as static member functions, so it can be reused for speculative contacts
Add speculative contact restitution, but disabled by default, not well tested (btDiscreteDynamicsWorld::setApplySpeculativeContactRestitution)
Add --with-double-precision option to premake build system
2012-10-05 21:15:11 +00:00
erwin.coumans 6be2689f01 add joint feedback (applied force and applied torque for a constraint) 2012-10-05 05:37:12 +00:00
erwin.coumans 394bb103f0 Fix src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
See Issue 643, thanks to Laurent at liquiddragon for the patch.
Fix warning, See Issue 655
2012-10-04 20:32:04 +00:00
erwin.coumans 416b8477b3 start to rewrite the Bullet manual and check-in the Latex source 2012-10-03 19:34:43 +00:00
erwin.coumans 74db95d827 disable sphere-box again, it seems broken
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8456

fix some warnings
2012-10-02 02:26:37 +00:00
erwin.coumans 6284ded4a1 remove intptr_t, it breaks the build and it was not necessary 2012-09-29 05:00:46 +00:00
erwin.coumans cfb609f9d1 tweak CcdPhysicsDemo
remove wrong cp.m_lateralFrictionInitialized = false;
See http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=28851#p28851
2012-09-29 01:52:27 +00:00
erwin.coumans 79a792913d Add the option BUILD_MULTITHREADING to CMAKE, only enabled on APPLE and MSVC platforms. This controls multi-core (BulletMultiThreaded), MiniCL, DX11 and OpenCL acceleration.
On other platforms (Linux) it might work, but it is unsupported.
Fix some warnings in btBulletWorldImprter
2012-09-28 19:32:30 +00:00
erwin.coumans 60bf599246 perform GrahamScanConvexHull2D around an arbitrary oriented 2D plane in 3D, to fix some convex hull face merging problems
add compound shape support to BulletXmlWorldImporter and fix some compile issue under Debian (hopefully)
object picking change in the demos: create a ball-socket picking constraint when holding shift while mouse dragging, otherwise a fixed (6dof) constraint
add assert in constraint solver, when both objects have their inertia tensor rows set to zero
btPolyhedralContactClipping: add edge-edge contact point in  findSeparatingAxis (similar to the default GJK case)
2012-09-28 07:14:48 +00:00
erwin.coumans 837e5cb5e0 serialize rolling friction 2012-09-27 16:20:29 +00:00
erwin.coumans 4442a826ed add commandline arguments to serialize demo for xml export and Bullet import file name
update AntTweakBar version in CDTestFramework
add btCompoundShape support in BulletXmlWorldImporter (this importer is still premature/work-in-progress)
2012-09-26 19:47:18 +00:00
erwin.coumans 60c1b1918a fix bug for convex-convex polyhedral contact clipping, where the origin of the object is not located inside the convex hull of the vertices. 2012-09-23 18:35:19 +00:00
erwin.coumans 182c3034de fixes in btBulletXmlWorldImporter, and add premake4 support for the related demo 2012-09-22 05:27:35 +00:00
erwin.coumans 0fa444e851 fix Mac OSX build 2012-09-22 04:26:14 +00:00
erwin.coumans 6f60a388c6 add missing Demos/BulletXmlImportDemo
serialize DynamicsWorldInfo
2012-09-22 02:06:09 +00:00
erwin.coumans f2c9cdfb11 add m_rollingFriction to serialization structures
add btContactSolverInfo and gravity to serialization structures
(actual serialization code will follow soon)
2012-09-21 23:37:24 +00:00
erwin.coumans 214579ec60 Allow btBulletWorldImporter to convert/export a .bullet file to XML
Add first version of btBulletXmlWorldImporter, still incomplete but it can read some files
Fix false assert in btSequentialImpulseConstraintSolver
2012-09-21 22:47:11 +00:00
erwin.coumans 7494463be8 reset the companion Id back to -1, because of a bug related to kinematic objects
Thanks to Francois for the report. See Issue 652
2012-09-20 11:32:27 +00:00
erwin.coumans 5bba00dea4 improve control over rolling friction, use the same m_rollingFriction for both linear factor and absolute clamping value. 2012-09-20 04:18:29 +00:00
erwin.coumans 59a29b1859 fix kinematic objects, see Issue 652
add m_rollingFriction to btRigidBody::btRigidBodyConstructionInfo
2012-09-20 03:32:52 +00:00
erwin.coumans 19583868a9 fix AllBulletDemosOSX, 16-byte alignment and Xcode project 2012-09-17 17:02:33 +00:00
erwin.coumans a76e38eff0 fix link order so that the premake build works under Linux 2012-09-17 16:55:47 +00:00
erwin.coumans 8be5172df5 fix issue in the recent SSE implementation of setInterpolate3
align class
2012-09-17 16:03:47 +00:00
erwin.coumans 90643bec75 fix problem with btCylinderShape creation in RollingFrictionDemo 2012-09-16 19:26:27 +00:00
erwin.coumans 4934ce61fa tweak rolling friction in RaytestDemo 2012-09-16 17:23:39 +00:00
erwin.coumans 22fb7d5c1e improve rolling friction using anisotropic direction, to avoid resting in an instable position
(for implicit capsule, cylinder and cone shape)
See Bullet/Demos/RollingFrictionDemo for an example
2012-09-16 17:01:25 +00:00
erwin.coumans 26c713423f add RollingFrictionDemo 2012-09-15 07:03:23 +00:00
erwin.coumans 7eebb79ced implemented rolling friction, using a contact constraint. Useful to get rolling spheres to rest, even on a slightly sloped plane.
See http://www.youtube.com/watch?v=RV7sBAsKu4M and Bullet/Demos/RollingFrictionDemo
Fixes in FractureDemo (mouse picking constraint needs to be removed, otherwise constraint solver crashes/asserts)
2012-09-15 06:52:17 +00:00
erwin.coumans 54744b6ab9 added gyroscopic force option for btRigidBody, body->setFlags(BT_ENABLE_GYROPSCOPIC_FORCE);
Note that it can easily introduce instability at regular (60Hertz) simulation steps so it is generally best to not use the option.
If needed, use a very small internal step, such as 1000 Hertz (world->stepSimulation(dt,100,1./1000.f); or stepSimulation(1./1000.,0);
2012-09-14 21:39:48 +00:00
erwin.coumans 3e9f35c0fd Add btGearConstraint, with a demo in Bullet/Demos/ConstraintDemo
Thanks to Dimitris Papavasiliou for the idea.
2012-09-13 22:40:39 +00:00
erwin.coumans 2dfde77bac delete some unused projects 2012-09-13 00:25:44 +00:00
erwin.coumans 47cae15fe5 add missing file in AllBulletDemosOSX
fix RaytestDemo CMakeLists.txt
2012-09-13 00:14:30 +00:00
erwin.coumans 737a2829bb remove rigid body gpu pipeline, the latest version is at https://github.com/erwincoumans/experiments 2012-09-13 00:07:58 +00:00
erwin.coumans c2f9d927c2 fix ray test kF_FilterBackfaces and kF_KeepUnflippedNormal flags
add Demos/RaytestDemo to show/test rayTest
fix premake batch files
2012-09-12 23:19:05 +00:00
erwin.coumans 73082e995c enable AMD OpenCL sdk for linux too
Fixes Issue 641
2012-09-12 16:42:03 +00:00
erwin.coumans 9a460942a9 register the gimpact collision algoritm in the SerializeDemo by default 2012-09-11 22:28:41 +00:00
erwin.coumans 2871a3d30f enable import/deserialization of optimizedBvh data in a .bullet file 2012-09-11 19:59:00 +00:00
erwin.coumans 4eb5240cbe Applied patch for character controller by bjorn.wesen. Fixes Issue 644.
Fixed some warnings in double-precision compile
2012-09-11 04:36:57 +00:00
erwin.coumans d99d9779a2 cast to char to avoid C++11 issue
Fixes Issue 716.
2012-09-11 03:58:11 +00:00
erwin.coumans 1b7642f0f5 Prepare for 2.81 release, increase version numbers
Fixed DNA serialization for C++11: avoid negative char values
Fixes 617. (needs to be tested)
2012-09-11 03:49:50 +00:00
erwin.coumans 8c56528a79 Avoid using restitution for ccd motion clamping. Restitution for fast moving objects should be handled by btDiscreteDynamicsWorld::createPredictiveContacts
(make sure to merge islands based on those predictive contacts too, added some check in the solver)
This fixes Issue 356.
Use same solver settings for AllBulletDemos
Make sure to embed the setCcdSweptSphereRadius inside the actual collision shape (for shoot box)
2012-09-11 03:12:32 +00:00
erwin.coumans 9612561113 add btDiscreteDynamicsWorld::createPredictiveContacts after discrete collision detection and add temporary contact manifolds, for the constraint solver.
This should improve 'ccd' handling when using world->getDispatchInfo().m_useContinuous = true;body->setCcdSquareMotionThreshold(...); body->setCcdSquareMotionThreshold(...)
shoot smaller boxes (test)
use yellow instead of orange for contact point normals
tweak default erp and erp2 values, now split impulse is on by default (need to check it)
2012-09-11 00:56:11 +00:00
erwin.coumans 9cfcabfc4c disable all demos for premake4 iOS build (it only compiles HelloWorld, Benchmark and UnitTest for now)
add btAlignedFree to deleteCriticalSection
2012-09-10 16:02:30 +00:00
erwin.coumans 77b662d5fe fix a few more warnings under Windows
fix linker issue due to unsigned/int variable
2012-09-10 04:46:39 +00:00
erwin.coumans 5417bae113 add zigzag heightfield for Ogre compatibility.
Fixes Issue 625. Thanks to KLLoyd!
2012-09-09 22:48:20 +00:00
erwin.coumans f50cf5585a fix MinGW compilation, use size_t instead of unsigned long
add missing virtual methods in SequentialThreadSupport
2012-09-09 22:19:54 +00:00
erwin.coumans e2522c6f9b re-enable debug drawing of box, instead of using the generic convex path.
Fixes Issue 622. Thanks for the report!
2012-09-09 22:08:23 +00:00
erwin.coumans 2fb970ce33 disable debug drawing in btCompoundCollisionAlgorithm
Fixes Issue 600.
Thanks to Stuart for the report.
2012-09-09 21:31:02 +00:00
erwin.coumans 6b8a571438 better fix for memory issue of BulletMultiThreaded
See Issue 271 and
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=&f=9&t=4043
2012-09-09 21:25:00 +00:00
erwin.coumans ccfbb9fd79 revert memory deletions, should be done properly 2012-09-09 20:57:41 +00:00
erwin.coumans 491c91f486 fix memory leak in BulletMultiThreaded
Fixes Issue 271.
2012-09-09 20:53:55 +00:00
erwin.coumans 7bb4e0e1bd fix ForkLiftDemo update (previous commit)
implement preallocate{Vertices,Indices} in btTriangleMesh. Fixes Issue 647.
2012-09-09 17:59:02 +00:00
erwin.coumans ff72d64ffa fix memory leak in Box2dDemo. Fixes Issue 619. Thanks to Joshua Downer for the report. 2012-09-09 17:31:10 +00:00
erwin.coumans 3b83428a7f Applied polar decomposition patch. Fixes Issue 621. Thanks to Christian for the report, Joshua for the fix, Dongsoo for checking the fix.
Applied picking cloth patch. Fixes Issue 646. Thanks to Dongsoo.
Applied patch Softbody updateConstraints. Fixes Issue 503. Thanks to Dave Bruce Phillips and Dongsoo.
Fix various warnigns under Mac OSX.
2012-09-09 17:22:30 +00:00
erwin.coumans 2700ba17c0 fix memory leak when calling initializePolyhedralFeatures
Fixes Issue 623, thanks for the report/patch!
2012-09-08 19:43:24 +00:00
erwin.coumans b69c6ac3f5 fix padding in btSolverConstraint, see Issue 650
fix some warnings
2012-09-08 19:21:14 +00:00
erwin.coumans 196aa20329 add m_splitImpulseTurnErp solver setting, initialized to 0.1: more stable recovery from deeper penetrations by reducing the angular effect (if split impulse is enabled)
Set it to 1.0 to disable the effect.
removed broken/not maintained heightfield fluid demo
add some API methods to btPersistentManifold
2012-09-03 04:38:08 +00:00
erwin.coumans c1138535f9 use btAssert instead of assert
use __debugbreak for Windows MSVC asserts and asm volatile ("int3");\ on Mac OSX (__i386__ / __x86_64__)
2012-09-02 17:54:30 +00:00
erwin.coumans c28f413e50 remove obsolete IBM Cell SDK makefiles 2012-09-02 17:38:51 +00:00
erwin.coumans 48966ec247 remove the need for ARM_NEON_GCC_COMPATIBILITY definition (arm/Apple/iOS) 2012-08-31 22:41:05 +00:00
erwin.coumans 84b1774dda improve handling of restitution by using the velocity (linear/angular) before applying forces: this is done by re-introducing the btSolverBody and only apply the forces to solver body, and use the original rigid body velocity for restitution computation.
warmstarting for contact points was broken, fix in btPersistentManifold
enable split impulse by default (at the cost of some performance)
add  the option for zero-length friction (instead of recomputing friction directions using btPlaneSpace), use the solver mode flag SOLVER_ALLOW_ZERO_LENGTH_FRICTION_DIRECTIONS
precompute lateral friction directions (in btManifoldResult)
remove the mConstraintRow[3] from btManifoldPoint, it just took a lot of memory with no benefits: fixed it in btParallelConstraintSolver
2012-08-31 19:46:24 +00:00
erwin.coumans 37ebcc3aa6 fix and re-enable sphere-box collision algorithm, Issue 643
Thanks to Laurent for the fix and Thomas for adapting the fix to latest trunk revision!
2012-07-31 17:17:51 +00:00
erwin.coumans 7f6131f0cc fix soft body friction value, Issue 613
Thanks to Jarno for the report and fix.
2012-07-31 17:02:40 +00:00
erwin.coumans 1a3cbb0177 fix unit test under Ubuntu
fixes Issue 629, thanks to joshua.downer for the report and fix
2012-07-31 16:53:44 +00:00
erwin.coumans a734e86453 fix autotools/autoconf see also
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8300&p=28416#p28416
2012-07-31 04:40:16 +00:00
erwin.coumans 10ed7bffd5 Fix serialization issue with btGeneric6DofSpringConstraintData, due to typo
Skip btGeneric6DofSpringConstraintData parts of the data that will be invalid in .bullet files version 280 or older
This fixes Issue 618, thanks to cyrfer for the report.
minor improvements in premake build (name library output so multiple Visual Studio installations don't conflict)
remove msvc folder
2012-07-24 04:07:25 +00:00
erwin.coumans 73b217fb07 Apple contribution for OSX SSE and iOS NEON optimizations unit tests, thanks to Jordan Hubbard, Ian Ollmann and Hristo Hristov.
For OSX:
cd build
./premake_osx xcode4
for iOS:
cd build
./ios_build.sh
./ios_run.sh

Also integrated the branches/StackAllocation to make it easier to multi-thread collision detection in the near future. It avoids changing the btCollisionObject while performing collision detection.

As this is a large patch, some stuff might be temporarily broken, I'll keep an eye out on issues.
2012-06-07 00:56:30 +00:00
erwin.coumans 777b92a2ad fix HACD/CMakeLists.txt to add .inl files for install fixes Issue 616
https://code.google.com/p/bullet/issues/detail?id=616&colspec=Modified%20ID%20Type%20Stars%20Status%20Owner%20Summary
fix Intel cmake build of ParticlesOpenCL and OpenCLClothDemo
disable debug printf
2012-05-30 19:22:54 +00:00
erwin.coumans ec734ada87 OpenCL GPU rigid body pipeline2: initialize the host/gpu velocities so that the demo also works with NVIDIA GPUs
(apparently AMD Radeon initializes the memory with zero, hiding this bug)
2012-04-10 23:36:07 +00:00
erwin.coumans 8453942546 workaround for a GCC 4.2 compiler bug and warning in pointer conversion,
fixes Issue 615, thanks to Daniel Sefton for the report
2012-03-30 19:15:55 +00:00
erwin.coumans 4b92fbaccf fix AllBulletDemosOSX Xcode project 2012-03-27 21:27:19 +00:00
erwin.coumans 0d077293a5 use heap sort instead of quicksort 2012-03-22 17:43:17 +00:00
erwin.coumans da54814d09 Bug fix in EPA implementation, compute closest triangle to the origin using edges/vertices, instead of the projected origin distance.
See Issue 606 for detailed description. Thanks a lot to Jarno for the report and fix!
2012-03-16 18:59:50 +00:00
erwin.coumans 6fe42c183a Fix deletion of debug drawer (use a static global)
Fixes issue 608
2012-03-15 21:56:57 +00:00
erwin.coumans f4cf504223 add a couple of missing PhysicsEffects premake files 2012-03-14 20:35:46 +00:00
erwin.coumans 76375afff2 revert quickSort change in commit http://code.google.com/p/bullet/source/detail?r=2527 and fix the underlying sort issue
in VoronoiFractureDemo (store intermediate values in memory to avoid problems)
@todo: rewrite the island management to avoid sort for better performance
Thanks to Peter Kyme for the report, fixes Issue 607
2012-03-14 03:52:29 +00:00
erwin.coumans 52f9f6ed09 convert UTF-8 to ascii (how did the Byte Order Mark/BOM ever get into this file?) 2012-03-12 18:43:11 +00:00
erwin.coumans 28de5ea030 unsigned char -> char for serialization data structures.
See Issue 604
2012-03-05 23:38:36 +00:00
erwin.coumans b5b31ce52b added VoronoiFractureDemo, thanks to RBD
fix in infinite recursion in quickSort, exclude the pivot in each sub partition
disabled constraints don't merge simulation islands, and they don't disable collision between linked rigid bodies either.
2012-03-05 21:47:05 +00:00
erwin.coumans 03e1603a2f update explanation about GPU rigid body pipeline 2012-03-05 05:52:36 +00:00
erwin.coumans 52c15f9fd0 explain that the GPU rigid body pipeline is only tested under Windows, with recent GPU 2012-03-05 05:50:51 +00:00
erwin.coumans 8bf2ce9911 update Bullet_User_Manual.pdf with 'What's new for Bullet 2.80' 2012-03-05 05:45:46 +00:00
erwin.coumans ee63abcae4 update PhysicsEffects Android readme and bump up Sony copyright year 2012-03-05 05:06:14 +00:00
erwin.coumans a93a661b94 Add PhysicsEffects to Extras. The build is only tested on Windows and Android.
The Android/NEON optimized version of Physics Effects is thanks to Graham Rhodes and Anthony Hamilton, See Issue 587
2012-03-05 04:59:58 +00:00
erwin.coumans 6cf8dfc202 fix linux build, and enable simulation by default for SerializeDemo 2012-03-05 01:10:58 +00:00
erwin.coumans 571af41cf6 Add the GPU rigid body pipeline from https://github.com/erwincoumans/experiments as a Bullet 3.x preview for Bullet 2.80 2012-03-05 00:54:32 +00:00
erwin.coumans 73c4646b40 updated version of glew, and use static glew under Windows (CMake and premake project updates) 2012-03-05 00:18:24 +00:00
erwin.coumans 9bc3b5eb10 Update btOpenCLUtils to allow caching of precompiled program binaries (save/load). See Bullet/Demos/SerializeDemo/AMD for an example use
Fix in btBulletWorldImporter: load friction/restitution and patch radius of btCapsuleShape (it needs to embed the margin)
Partly apply a modified patch to make the SerializeDemo_AMD work, but avoid breaking the MiniCL version. See Issue 594
2012-03-04 22:12:12 +00:00
erwin.coumans 9c6a790e4b minor fix in SerializeDemo 2012-03-03 03:44:10 +00:00
erwin.coumans 2be785680c also update release version in CMakeLists.txt 2012-03-03 03:15:04 +00:00
erwin.coumans 710954d772 Constraints can override their own number of solver iterations (either more or less than the default) or leave it default (-1)
Bump version to 2.80
2012-03-03 03:07:18 +00:00
erwin.coumans a5aa2a5ff7 Add single body constructor for btGeneric6DofSpringConstraint. See Issue 601, thanks to aj.dneg for the patch. 2012-03-01 05:48:51 +00:00
erwin.coumans 640d11e617 Add a mention of the fact that the profiler btQuickProf doesn't use the memory allocator, See Issue 529, thanks to Young.
Bump up version number of Bullet manual to 2.80
2012-03-01 05:30:45 +00:00
erwin.coumans 0daf69afb6 Add an improved way to approximate the area of the contact manifold, using 4 points instead of 3. It is switched off by default (need to check performance first), use gContactCalcArea3Points = false to enable it. Thanks to Hiroshi Matsuike for the improvement!
Use App prefix for AppHfFluidDemo
2012-03-01 05:02:01 +00:00
erwin.coumans 99db5e6c8a fix in ConvexDecomposition (old one, not HACD)
See Issue 552, thanks to Jarno
2012-02-29 05:55:45 +00:00
erwin.coumans 0adc75433b fix a warning in btSerializer.h (unused variable nr) 2012-02-29 05:51:10 +00:00
erwin.coumans 73c8a8673e comment the stride parameters of btIndexedMesh
See Issue 518,
thanks to Julien Rebetez
2012-02-29 05:40:55 +00:00