Commit Graph

  • 33889a3dc9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 Erwin Coumans 2013-12-13 08:40:18 -08:00
  • f9c22b61af fix Mac OSX build Erwin Coumans 2013-12-13 08:40:05 -08:00
  • 3fe969c4ee b3Solver -> pass pointer to source instead of 0 (was left over from a debugging session), thanks to David for the report Break up clipHullHullConcaveConvexKernel into multiple stages, so it might 'fit' in Apple's OpenCL implementation Implemented bvhTraversalKernel and findConcaveSeparatingAxis on CPU (debugging, possible future CPU version) erwin coumans 2013-12-13 07:52:41 -08:00
  • c155e126d0 move parts of collision pipeline to shared header files (work-in-progress) erwin coumans 2013-12-12 11:03:55 -08:00
  • ba2ba28a89 add Bullet 2.x CPU FeatherstoneMultiBodyDemo erwin coumans 2013-12-09 14:16:51 -08:00
  • 9379c7fb8c enable mouse picking for BasicDemo (will move it to a shared code part soon) erwin coumans 2013-12-07 11:19:57 -08:00
  • 30a6fe705f remove obsolete executables, prettify Bullet 2.x CPU BasicDemo a little bit. erwincoumans 2013-12-06 18:11:04 -08:00
  • fca6d11381 created new Bullet 2 CPU BasicDemo, using the OpenGL 3 rendering. I will add picking soon. Hold ctrl/alt + mouse to move/zoom camera remove reference to btGImpact (it is removed now) erwincoumans 2013-12-06 17:48:58 -08:00
  • bbb2c8a6f1 Merge branch 'bullet2stripped-master' Erwin Coumans 2013-12-06 15:32:59 -07:00
  • f06312c632 remove most clutter (todo) Erwin Coumans 2013-12-06 15:29:13 -07:00
  • 9e9b172b23 Merge branch 'bullet2-master' Erwin Coumans 2013-12-06 15:09:34 -07:00
  • ffbef54c4f test Erwin Coumans 2013-12-06 15:06:54 -07:00
  • d48e2c717c fix rotation correction in btFixedConstraint, see Issue 769 erwin.coumans@gmail.com 2013-12-04 19:06:28 +00:00
  • 1362b6ab48 Fix convex cast normals for btScaledBvhTriangleShape: normals were already in world space See Issue 371 THere seems to be some other issues, need to get a reproduction case. erwin.coumans@gmail.com 2013-11-26 18:44:06 +00:00
  • 5910b42d8d fix SIMD_2_PI macro, see Issue 773 erwin.coumans@gmail.com 2013-11-26 17:15:05 +00:00
  • ec39c2f210 Removed to bitonic sort and ios, they were not used and confuse Bram :) http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9570 erwin coumans 2013-11-25 21:38:44 -08:00
  • beb9e98cd3 expose the gUseLargeBatches as command-line argument --use_large_batches erwin coumans 2013-11-21 09:16:01 -08:00
  • 8a7ad65177 added a variation of the constraint solver, that works on CPU OpenCL (oneBigBatch), one stage (batching) happens on CPU for this mode erwin coumans 2013-11-20 22:54:04 -08:00
  • 1d5c651753 Use more shared data structures in src\Bullet3OpenCL\NarrowphaseCollision\kernels\satClipHullContacts.cl Revert default error func (was broken) erwincoumans 2013-11-19 17:52:59 -08:00
  • 26dfaa441e add some command-line options --use_jacobi --allow_opencl_cpu erwin coumans 2013-11-19 13:42:53 -08:00
  • bda1fb7dd2 fix 64bit iOS,see also Issue 739 erwin.coumans 2013-11-18 22:17:00 +00:00
  • 9aad92315b Avoid crash in btCompoundCompoundCollisionAlgorithm if there is no tree for one of the btCompoundShapes Update the revision, to avoid clearing the child cache each frame erwin.coumans@gmail.com 2013-11-17 20:35:35 +00:00
  • 886650a038 fix 'unused' warning. Fixes Issue 770 erwin.coumans@gmail.com 2013-11-17 20:13:50 +00:00
  • 673e74146e only build demos using extras if BUILD_EXTRAS is on erwin.coumans@gmail.com 2013-11-17 20:03:42 +00:00
  • 54909160a7 Update readme.txt erwincoumans 2013-11-12 09:46:44 -08:00
  • 1efecf9dba Update readme.txt erwincoumans 2013-11-12 09:39:09 -08:00
  • 47d543f72b update Win32 executable to start with the Samurai trimesh scene erwincoumans 2013-11-12 09:33:50 -08:00
  • a78cbcf354 Accidently left some very slow copyToHost in the batching code, removing it makes it faster :-) erwincoumans 2013-11-12 09:03:30 -08:00
  • f7abea1b2c remove precompiled Windows binaries, they were just for the alpha pre-release download erwincoumans 2013-11-11 22:47:06 -08:00
  • 7796ca1de7 add Windows binaries for a release/tag erwincoumans 2013-11-11 22:23:19 -08:00
  • 472614772f expose some more settings as command-line parameters: [--disable_shadowmap] [--shadowmap_size=int] [--shadowmap_resolution=<int>] [--use_jacobi] [--use_uniform_grid] erwincoumans 2013-11-11 22:20:21 -08:00
  • 5ce0b3938f Re-introduce GPU parallel Jacobi solver, called btGpuJacobiContactSolver. There are still some issues, but for basic scene's it works. To avoid confusion, rename GPU contact solver to btGpuContactSolver, and constraint (non-contact) solver to btPgsConstraintSolver. erwincoumans 2013-11-11 21:15:06 -08:00
  • ef6be5370d more work towards hybrid of GPU grid and sap broadphase, separating small, large (moving) and static objects re-enable 'useNewBatchingKernel', it is slower but more robust erwincoumans 2013-11-11 02:19:04 -08:00
  • d13de109a5 work towards re-enabling GPU grid broadphase (in addition to GPU sap bp) erwin coumans 2013-11-10 23:19:51 -08:00
  • b0c43520e3 more work towards re-enabling grid broadphase. erwincoumans 2013-11-10 22:00:35 -08:00
  • ad8585f184 prepare for btGpuGridBroadphase erwincoumans 2013-11-10 14:15:23 -08:00
  • 6b5921b1b3 added a basic test for SimpleOpenGL3 erwincoumans 2013-11-09 13:09:11 -08:00
  • 8f3051fdf1 add ImplicitCloth demo, by Stan Melax add SimpleOpenGL3App, used in ImplicitCloth demo. The Bullet 3.x demos should use this as a template, it will clean up some of the mess. erwincoumans 2013-11-09 12:12:33 -08:00
  • a6bc61ad1a tweaked the particle demo a little bit erwincoumans 2013-11-08 23:21:01 -08:00
  • 768ea211a6 add a waiting message, during startup of a demo. fix an OpenCL kernel, broken in previous commit. erwincoumans 2013-11-07 16:47:18 -08:00
  • e85bae5fe3 share more data structures and code between OpenCL kernels and C/C++ code on CPU (non-OpenCL) integrateSingleTransform fix bug in registerRigidBody (could lead to random crashes, especially when performing picking/adding rigid bodies afterwards) erwin coumans 2013-11-07 15:49:57 -08:00
  • e20cb22832 share more data structures and code between OpenCL and C/C++ on CPU: move the setConstraint4/b3ConvertConstraint4 to shared code. erwin coumans 2013-11-07 12:46:01 -08:00
  • a9a758dd54 share more code between OpenCL kernels and C++ by moving kernel data structures/code to the 'shared' folders erwin coumans 2013-11-06 19:57:36 -08:00
  • 82a6855f9e fix OSX build erwincoumans 2013-11-05 14:09:35 -08:00
  • 9d96c24bee fix a compile error in the debug/testing particles kernel erwin coumans 2013-11-04 23:46:03 -08:00
  • 0536f986a6 apply patch: soft bodies should not collide with ghost objects. Thanks to Sergej Reich for the patch, fixes Issue 757 erwin.coumans@gmail.com 2013-11-04 01:12:52 +00:00
  • 439ab03940 fix Mac OSX build (there is no such member called e.m128_f32[0] erwin.coumans@gmail.com 2013-11-03 19:55:08 +00:00
  • 218d4d1394 use a separate default cfm for the MLCP solver, it is a very sensitive value for Dantzig (and Lemke) erwin.coumans@gmail.com 2013-10-31 16:52:32 +00:00
  • 644d01d231 added the btNNCGConstraintSolver, based on the paper "Nonsmooth Nonlinear Conjugate Gradient Method for interactive contact force problems". The solver needs a lot of iterations, before the quality goes up (~ 1000) Thanks to Gabor PUHR for the contribution! Improved the btLemkeSolver. Remove the sparse optimizations from the btMatrixX.h, replace it with explicit call to rowComputeNonZeroElements (only used in the btSolveProjectedGaussSeidel), it was likely slowing things down, without being useful. Re-enable SIMD in the solver (was accidently disabled in Bullet 2.82 release) erwin.coumans@gmail.com 2013-10-31 06:17:08 +00:00
  • 6ca948e22f make Lemke work with lower/upper bounds, using the BLCP to LCP conversion (using a dog-slow matrix inversion etc) for this conversion, see also https://github.com/erwincoumans/num4lcp/blob/master/matlab/test_lcp_bounds.m and appendix A1 in http://www.cs.duke.edu/~parr/nips10.pdf, thanks to Kenny Erleben and Evan Drumwright for the tips! (friction is not coupled to normal forces yet) erwin.coumans@gmail.com 2013-10-30 00:02:13 +00:00
  • 13936eb9a5 use square epsilon in btVector3::fuzzyZero (length2) erwin.coumans@gmail.com 2013-10-29 22:53:01 +00:00
  • 1a2c3c0ee9 Added a Lemke MLCP solver, extracted from the MBSim project, and re-licensed under the zlib license with permission of the original author. The Lemke implementation is not fully working yet: 1) we need to convert the lo-high LCP problem into a problem without the lo/high 2) we need to sort out the remaining instabilities, and report a failure if the max loopcount is reached etc. We replaced the fmatvec library with our own LinearMath/btMatrixX.h, and STL std::vector with btAlignedObjectArray erwin.coumans 2013-10-26 18:45:25 +00:00
  • 19f999ac08 fix double precision, and remove alloca increase mass of the load, to show benefits of direct MLCP solver move damping back to original location erwin.coumans@gmail.com 2013-10-24 18:31:27 +00:00
  • 5ca137cb54 fix autotools build, add MLCPSolvers and ForkLiftDemo erwin.coumans@gmail.com 2013-10-24 02:27:37 +00:00
  • f5320e4106 add "latency motion state interpolation", using previous frame/current, instead of current->next See Demos/ForkLiftDemo for example (F7 to toggle, use single-frame stepping, press 'i' and 's' to see the effect) erwin.coumans@gmail.com 2013-10-24 00:13:43 +00:00
  • a1c962192c Allow the ForkLiftDemo to toggle between MLCP and SI solver, using F6 key. Apply patch for CMake config, see Issue 754 (Issue 753) Fix a few issue with the MLCP solver: allow split impulse, and fix offset in friction dependencies erwin.coumans@gmail.com 2013-10-23 23:35:13 +00:00
  • e5590575a9 disable self-collision for btMultiBody with prismatic joint: the collision normals are conflicting (they assume 3d objects, but 2 bodies/links in a multi-body don't have the DOFs to resolve the collision, resulting in 'explosions' adding energy. erwin.coumans 2013-10-23 18:00:32 +00:00
  • 7285bd8390 update quickstart guide with 'what's new for 2.82' erwin.coumans 2013-10-23 03:31:43 +00:00
  • 1503c806bd fix Mac OSX build when using GNU++11 C++ language standard, make this the default in premake under OSX for easier testing erwin.coumans 2013-10-22 23:08:43 +00:00
  • 9b44762519 pass the settings to create a FeatherstoneMultiBody as a struct, instead of all individual parameters erwin.coumans 2013-10-22 22:36:43 +00:00
  • 0024c87316 move the m_maxAppliedImpulse into base class, and use it for motor strength/point to point constraint strength erwin.coumans 2013-10-22 21:49:52 +00:00
  • f22ceecb82 Fix Featherstone btMultiBodyPoint2Point constraint and picking: don't assume body 0 is the fixed body! erwin.coumans 2013-10-22 21:06:47 +00:00
  • 75260cd0d7 fix iOS compilation when the C++ Language Dialect is set to GNU++11 erwin.coumans 2013-10-22 19:13:24 +00:00
  • 4169c52b2a use __ARM_NEON__ preprocessor check instead of __armv7__ erwin.coumans 2013-10-22 19:01:21 +00:00
  • cf7f5436e4 apply CMake patch in Issue 748 thanks to Julien Schueller for the contribution! erwin.coumans@gmail.com 2013-10-22 18:34:17 +00:00
  • 23f612bbb5 fix Linux build by default, only enable 64bit build when using ./premake4_linux64 and only 32bit build when using ./premake4_linux remove some warning erwin.coumans@gmail.com 2013-10-22 18:10:45 +00:00
  • a21480c8ca Attempt to fix "Regression in friction and damping behaviour" , see issue 752 Thanks to Sergej Reich for the report and narrowing down the breaking revision! erwin.coumans@gmail.com 2013-10-22 09:26:08 +00:00
  • 5e372d6ac5 fix compile errors erwin.coumans@gmail.com 2013-10-21 23:33:01 +00:00
  • 379f0079e0 Added Dantzig MLCP solver option from Open Dynamics Engine (trying to avoid naming/linking conflicts in case ODE and Bullet is used together) If an MLCP solver fails, use PGS/SI fallback, add a boolean return value for 'solve' method erwin.coumans@gmail.com 2013-10-21 23:27:09 +00:00
  • 1ca0493dc4 Build full A matrix and b vector for a MLCP solver interface, to explore Lemke, Dantzig, Newton and other MLCP solvers. The A matrix contains sparsity information. Added a PGS solver that uses the sparsity of the A matrix, just for testing (the equivalent sequential impulse solver is much faster, not having to allocate the big matrices) erwin.coumans@gmail.com 2013-10-20 17:38:14 +00:00
  • 5bd6decb2e Use the more accurate, but slightly slower, gjk ray test by default, instead of the sub-simplex convex cast. Set the rayCallback.m_flag btTriangleRaycastCallback::kF_UseSubSimplexConvexCastRaytest to enable the previous approximate/faster ray test. erwin.coumans@gmail.com 2013-10-19 16:42:17 +00:00
  • d998680a68 fix error in Visual Studio 2005 build, due to unsupported SSE intrinsics erwin.coumans 2013-10-16 21:25:52 +00:00
  • d4640227ce add option to disable btMultiBody self-collision (for the entire hierarchy) or to disable parent-child collision for jointed links. erwin.coumans@gmail.com 2013-10-08 00:50:40 +00:00
  • 34d975143e expose maximum applied impulse for btMultiBody, introduced to reduce/avoid 'exploding' simulations use btScalar instead of float, to enable double precision build, fix for Issue 744 erwin.coumans@gmail.com 2013-10-06 17:13:08 +00:00
  • 488dd44835 Added btMultiBodyPoint2Point, it can be used between btMultiBody vs btMultiBody or btMultiBody vs btRigidBody Allow picking of btMultiBody, using a btMultiBodyPoint2Point constraint, with limited strength to avoid adding too much energy to the system (= blowup) Add btMultiBodyJointMotor, it can be used in combination with joint limit (just add the joint limit after the motor, to avoid jitter) erwin.coumans@gmail.com 2013-10-05 01:46:32 +00:00
  • 2fb686b937 change btMultiBody to allow removal/changing of links (still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc) erwin.coumans@gmail.com 2013-10-03 05:13:41 +00:00
  • 88b8ae552b add a btFixedConstraint with toggle between btGeneric6DofConsraint and btFixedConstraint in VoronoiFractureDemo erwin.coumans@gmail.com 2013-10-02 21:50:50 +00:00
  • 75f17509cc Add a virtual createConstraintRows method, to easier experiment with different kinds of btMultiBodyConstraint erwin.coumans 2013-10-02 21:38:40 +00:00
  • c2bece5280 Enable btMultiBodyJointLimitConstraint, seems to be working for the prismatic joint Fix case sensitive issue, thanks to Martin Felis Fix crash/bug in btMultiBodyConstraint computation erwin.coumans 2013-10-02 20:14:48 +00:00
  • 36cfbd47a6 preparation for joint limit constraint for Featherstone btMultiBody erwin.coumans 2013-10-02 06:25:20 +00:00
  • d8b6a02a7a Fix some crashes in FeatherstoneMultiBodyDemo, when using a fixed base Create two btMultiBody, one fixed and one free base Preparation towards btMultiBodyConstraint erwin.coumans 2013-10-02 03:07:52 +00:00
  • f02dd51597 Added a first version of a Featherstone multi body implementation. The original version was written by Stephen Thompson. I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver. Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support. See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage. There is currently only support for contact constraints for btMultiBody. Next on the list will be adding support for joint limit constraint for btMultiBody. The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases. erwin.coumans 2013-10-01 22:50:31 +00:00
  • 7292867d25 applied character controller patch, not tested (allow community to develop btKinematicCharacterController.cpp) erwin.coumans 2013-10-01 17:35:45 +00:00
  • dece911679 removed Particles OpenCL demo, all OpenCL work is moved to Bullet 3.x see http://github.com/erwincoumans/bullet3 Fixes Issue 741 erwin.coumans 2013-10-01 17:28:56 +00:00
  • fcd5541b04 fix BasicGpuDemo compilation erwin coumans 2013-09-17 14:46:11 -07:00
  • 858c890c96 prettify the debug wireframe drawing of sphere, capsule, cylinder and cone add an btAssert in normalize of btVector3 and 'normalized' always use 'normalize' erwin.coumans 2013-09-17 02:01:14 +00:00
  • 5f5d601ebf added two methods to btQuaternion, and add a note that the 'angle' method returns the half angle. angleShortestPath and getAngleShortestPath Thanks to Tully Foote. This fixes issue 379. erwin.coumans 2013-09-16 19:05:36 +00:00
  • 126fd06ac6 remove the 'isActive' test when merging simulation islands for constraints and speculative contacts, it is wrong This fixes issue 709 erwin.coumans 2013-09-16 17:25:05 +00:00
  • c28652de37 add serialization for btGearConstraint support 'linearFactor' and 'angularFactor' for btRigidBody world importer erwin.coumans 2013-09-14 17:51:09 +00:00
  • 6fd4738a9e use the old data structures for single precision serialization, to make it backwards compatible So files created by the new double precision serialization of Bullet 2.82 cannot be read by old Bullet versions, but double precision serialized file generated by older Bullet versions can be read by Bullet 2.82 or newer. erwin.coumans 2013-09-14 16:49:31 +00:00
  • e22a11c021 update serialization structures erwin.coumans 2013-09-14 06:22:22 +00:00
  • 1aac33f6b6 refactor constraint serialization, so that double precision is maintained, changes are backwards compatible (btBulletWorldImporter can load old .bullet files) but not forwards compatible (constraints in new .bullet files are ignored/unrecognized by old Bullet SDK) This commit is for Issue 734. Some more work needs to be done for btGImpactMeshShapeDoubleData and thus btStridingMeshInterfaceDoubleData and btMeshPartDoubleData erwin.coumans 2013-09-14 06:08:50 +00:00
  • e94a2137b0 minor update manual fix vehicle demo (heightfield is broken, when using very large scaling factor) add btConeShape serialization, see Issue 725 add btGearConstraint get/set, see Issue 685 and Issue 671 erwin.coumans 2013-09-13 16:34:39 +00:00
  • 8f4f99809e use btScalar instead of float for btTriangleMesh thanks to nsarkozi. This fixes issue 704 erwin.coumans 2013-09-12 22:22:15 +00:00
  • 29915ba7fd bump up VERSION to 2.82 in various places, there is still some more issue to be fixed before release. erwin.coumans 2013-09-12 20:37:30 +00:00
  • fa2276f1ca add option for slightly more accurate, and slightly slower algorithm for ray versus convex, used in btCollisionWorld::rayTest. rayResult.m_flags |= btTriangleRaycastCallback::kF_UseGjkConvexRaytest; See Demos/RaytestDemo/RaytestDemo.cpp for usage This fixes issue 146, longest outstanding from 2008. erwin.coumans 2013-09-12 20:25:06 +00:00
  • e792f0e549 Add faster processing of btCompoundShape versus btCompoundShape, using a dedicated btCompoundCompoundCollisionAlgorithm, with hash pair caching and tandem tree traversal. It should be much faster, when using many child shapes for both compounds. Fix iOS compilation, added header. erwin.coumans 2013-09-12 19:28:39 +00:00
  • 1685729b80 Show how to use the btBroadphaseInterface::aabbTest, it collects all objects that overlap with a given bounding box This fixes old Issue 114 Removed 2 warnings erwin.coumans 2013-09-11 05:52:19 +00:00
  • a197c58935 Add #ifdef BT_NO_SIMD_OPERATOR_OVERLOADS before including Bullet headers, to avoid clashes with XNAMath.h Fixes Issue 710 error C2084: function 'XMVECTOR operator +(FXMVECTOR,FXMVECTOR)' already has a body error C2084: function 'XMVECTOR operator -(FXMVECTOR,FXMVECTOR)' already has a body error C2084: function 'XMVECTOR operator *(FXMVECTOR,FXMVECTOR)' already has a body erwin.coumans 2013-09-11 00:01:48 +00:00
  • bb379bd84c fix one of the btCompoundShape scaling issues, this fix breaks the API (need to add warning at the next release) erwin.coumans 2013-09-10 23:34:23 +00:00