Commit Graph

65 Commits

Author SHA1 Message Date
erwin.coumans@gmail.com
673e74146e only build demos using extras if BUILD_EXTRAS is on 2013-11-17 20:03:42 +00:00
erwin.coumans
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.
2013-10-01 22:50:31 +00:00
erwin.coumans
dece911679 removed Particles OpenCL demo, all OpenCL work is moved to Bullet 3.x see
http://github.com/erwincoumans/bullet3
Fixes Issue 741
2013-10-01 17:28:56 +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
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
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
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
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
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
f44cb95b2a Added improved convex hull computation utility based on Preparata and Hong
Thanks to Ole Kniemeyer, MAXON, See also http://code.google.com/p/bullet/issues/detail?id=275
The ConvexHullDistanceDemo uses it to visualize the convex hull of a point cloud.
2011-03-22 00:53:17 +00:00
erwin.coumans
a522cb98d9 Added a first version of FractureDemo, showing basic fracture and glue of rigid bodies.
It assumes a btCompoundShaps (where the childshapes are the pre-fractured pieces)
The btFractureBody is a class derived from btRigidBody, dealing with the collision impacts and connectivity/propagating the fracture.
Press the F key to toggle between fracture and glue mode
This is preliminary work, can be used as a starting point to implement your own fracture.
2011-02-27 09:46:46 +00:00
erwin.coumans
cbeb5864eb Fixes in build systems for autotools and cmake, see Issue 438
Thanks to Daniel KO Listas at the ODE mailing list
Don't build graphics demos when OpenGL or GLUT is not found
CMake will still build the non-graphical HelloWorld demo (output text to console)

Fix linker error: ThreadingDemo requires pthreads on UNIX systems
Thanks to reptor, see also http://bulletphysics.org/Bullet/phpBB3/posting.php?mode=reply&f=9&t=5748
2010-10-06 23:07:00 +00:00
erwin.coumans
4f9b450200 added OpenCL cloth demo, contributed by AMD.
updated GpuSoftBodySolvers
updated DirectCompute cloth demo
2010-08-14 00:56:17 +00:00
erwin.coumans
11fa2e8b43 Added GPU SoftBody constraint solvers for DirectX 11 (Direct Compute) and OpenCL, thanks to AMD.
See also http://code.google.com/p/bullet/issues/detail?id=390
Added Demos/DX11ClothDemo
(an OpenCL cloth demo will follow soon)
2010-07-20 16:09:53 +00:00
erwin.coumans
b3f081fc85 Added preparation for GPU hardware accelerated solvers for BulletSoftBody (OpenCL and DirectCompute backends will follow)
Added assert to check for positive masses in btCompoundShape::calculatePrincipalAxisTransform, see Issue 399
Fixes for LLVM/GCC compilation issue in btSequentialImpulseConstraintSolver
(Untested) fix for Linux 64bit compilation Issue 409
2010-07-16 23:26:25 +00:00
erwin.coumans
fbc17731ec Several changes to sync Bullet trunk with PlayStation 3 spubullet version
Still needs some cross-platform fixes
2010-07-08 17:02:38 +00:00
erwin.coumans
5db1c008bd add AMD version of VectorAdd_OpenCL, next to MiniCL (has issues with workgroup size) 2010-06-25 00:19:22 +00:00
erwin.coumans
498da0721b Move some code from Branches/OpenCL to trunk, related to threading and OpenCL:
Added Demos/ThreadingDemo showing how to use the cross-platform btThreadSupportInterface under Windows.
Added Demos/ParticlesOpenCL showing how to run the NVidia particle demo under OpenCL implementations by AMD, NVidia and MiniCL (CPU)
2010-06-24 22:54:00 +00:00
erwin.coumans
14f65a5cac fix minor issue with cmake build system 2010-02-09 21:12:36 +00:00
erwin.coumans
7d4e2873e2 move some recent MiniCL work to trunk 2010-02-08 22:42:58 +00:00
erwin.coumans
58c5630d7f Add new demos to cmake: SerializeDemo and InternalEdgeDemo
Fix in btShapeHull for previous commit
Add support to serialize name for objects
Updated serialization structures.
2010-02-04 01:07:07 +00:00
erwin.coumans
c1e20e98c7 allow to compile all demos when USE_GLUT is enabled in cmake
fix minor issue in ConcaveDemo (animation should be time-dependent)
remove COLLADA from the demos.
2010-02-03 23:04:39 +00:00
erwin.coumans
788f48643b remove all warnings on Mac OSX Snow Leopard 2010-01-30 22:31:56 +00:00
erwin.coumans
e311597a7b added InternalEdgeDemo and fixes for btInternalEdgeUtility 2010-01-30 03:48:57 +00:00
erwin.coumans
8616ea07d8 copy glut*.dll next to executable using cmake postbuild step
re-add CollisionInterfaceDemo to cmake
2010-01-29 17:47:17 +00:00
erwin.coumans
37f6df2c32 added serialization support for gimpact mesh
improved cmake build system for updating the serialization structures
2010-01-29 02:50:34 +00:00
erwin.coumans
701bc64ab7 re-enable the GenericJointDemo for CMake 2010-01-29 00:46:59 +00:00
erwin.coumans
485d1a338e fix btCompoundShaps serialization of child shapes
added ConcaveDemo to cmake
added LinearMath/btSerializer.h to btBulletCollisionCommon.h
2010-01-27 23:37:46 +00:00
erwin.coumans
44565d20f4 added serialization support for btCompoundShape, btCapsuleShapeX/Z, btCylinderShapeX,Z
make some serialization methods const
prepare for constraint serialization
2010-01-26 02:24:03 +00:00
erwin.coumans
5378cf4c8a more work on Bullet serialization (added support for btConvexHullSupport) 2010-01-23 00:58:47 +00:00
erwin.coumans
6af9f9434f worked a bit more on the serialization, and added a preliminary SerializeDemo. 2010-01-21 00:17:18 +00:00
erwin.coumans
9bcc19a98f enable Box2dDemo for Win32 app. 2010-01-19 23:37:14 +00:00
erwin.coumans
8da244b443 remove a few warnings in DemoApplication 2010-01-19 23:29:19 +00:00
erwin.coumans
7b41af1765 Don't use GLUT by default under Windows, but a Win32 App instead. All demos have to be fixed (only basic demo works now). Also on Mac OSX, we plan to use cocoa instead of Glut. 2010-01-19 22:59:49 +00:00
erwin.coumans
443d38366f remove Gpu2dDemo Gpu3dDemo MiniCL_VectorAdd demos from CMake build system (it is not properly supported on most platforms anyway) 2009-12-13 21:39:47 +00:00
erwin.coumans
f59ad619a2 Disable BulletMultiThreaded, Gpu2dDemo, Gpu3dDemo, MiniCL_VectorAdd, they are currently not supported for 64bit platforms. 2009-11-06 00:36:30 +00:00
erwin.coumans
4ad21d36f9 some fixes in build systems 2009-05-22 19:24:20 +00:00
erwin.coumans
0a360904b6 fixes in Jam msvcgen -> use SSE instead of SSE2 to stay compatible with older AMD Athlon XP processors, updated build files, minor compile fixes for GPU experimental code 2009-05-09 21:25:42 +00:00
erwin.coumans
7a210546cf added existing demos to CMake build system
thanks to http://code.google.com/p/bullet/issues/detail?id=209
Added helper method 'getAxis' to btQuaternion,
thanks to Tully.Foote, http://code.google.com/p/bullet/issues/detail?id=205
2009-05-06 22:03:22 +00:00
erwin.coumans
5a0d8a9470 Demos folder is not in the include path, use relative path to access btDebugDrawer.h
remove non-existent projects from CMakeLists.txt

Thanks a lot to Paul Martz for the report and suggested fixes.
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3069
2009-01-14 01:18:41 +00:00
john.mccutchan
a8ec916af0 Added Height Field Fluid Demo to Bullet. All code stored in the Demos/HeightFieldFluidDemo directory for now.
Please see HfFluidDemo.cpp for examples of how to use the height field fluid along with buoyant collision shapes.

The implementation is still lacking in my ways:
1) Need to complete more collision algorithms for buoyant collision shapes
2) Support compound buoyant shapes
3) The buoyancy model isn't that great
4) Fluid volume can be lost over time
2009-01-08 22:53:23 +00:00
john.mccutchan
9b5df088de Committing height field terrain work from tomva1@yahoo.com 2008-11-06 19:41:31 +00:00
erwin.coumans
5e92e6b661 updated cmake for ForkLiftDemo, removed DinoDemo (it breaks cmake due to c/c++ mixing) 2008-09-06 15:43:20 +00:00
erwin.coumans
82b64b0565 exclude BulletMultiThreaded from 64-bit builds 2008-09-05 20:56:50 +00:00
erwin.coumans
05e64d6715 Add/fix CMake build support for BulletDinoDemo, thanks to slackydeb (http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2465 ) 2008-08-09 21:30:21 +00:00
erwin.coumans
fd5057ec5a fixed build/project files 2008-04-10 21:28:37 +00:00
erwin.coumans
726b9c2ac2 improved multi-platform support for SoftBodyDemo 2008-03-30 23:22:30 +00:00
erwin.coumans
d4698cb3d5 Added SoftBody demo, contribution by Nathanael Presson. Will integrate into Bullet broadphase.
Added very basic drawTriangle for btIDebugDraw, useful for basic softbody visualization.
Added btGjkEpa2, contribution by Nathanael Presson. Improved version of EPA penetration depth computation, more suitable for multi-core/SPU (less memory usage). Note: btGjkEpa2 is not enabled by default currently.
2008-03-30 23:08:06 +00:00
erwin.coumans
bc5b56e99d Added performance benchmarks 2008-03-20 09:34:11 +00:00