Commit Graph

720 Commits

Author SHA1 Message Date
erwin.coumans
b80e5fd167 Remove co-planar faces from convex hull, using 2d Graham scan
Improve SAT performance, by skipping back-facing features
Add assert in array class (probably fires in places)
2011-05-20 12:29:24 +00:00
erwin.coumans
1e7b9de339 fixes for unix/autotools 2011-04-09 03:57:48 +00:00
erwin.coumans
9a9a4394ab fix in btParallelConstraintSolver to support double precision
fixes in SAT/polyhedral contact clipping, avoid adding GJK contacts (the contact margin causes different contact depths)
add polyhedral convex shape in InternalEdgeDemo as example of the new SAT/polyhedral contact clipping (added reference to Manual/what's new)
avoid glueing objecs with contacts that are positive (no gaps)
2011-04-09 03:40:15 +00:00
erwin.coumans
cdddf9d25a add FractureDemo to AllBulletDemos
improvements in CCD handling
some cleanup of CcdPhysicsDemo and BasicDemo
2011-04-09 01:14:21 +00:00
erwin.coumans
e9f2176804 fixes in AllBulletDemos OSX projectfile 2011-04-07 17:08:21 +00:00
erwin.coumans
563654fb6e Add soft body anchor 'm_influence' to control the solver.
Thanks to Gregory Jaegy, see Issue 502
Avoid using btTransform to update btSoftBody (bounds are already in worldspace)
Use btConvexHullComputer for soft body cluster debug rendering
Fix soft body demo issue of invisible soft bodies (rendering was not enabled properly)
2011-04-05 20:32:59 +00:00
erwin.coumans
624dac6128 Make btParallelConstraintSolver 64-bit ready
add an optional assert method for the btCollisionDispatcher, to make sure the contact pool is contiguous (needed for btParallelConstraintSolver)
2011-04-04 22:38:56 +00:00
erwin.coumans
d419f79770 fixes to make MultiThreadedDemo work in 64bit, ParallelConstraintSolver won't work yet, only the parallel collision dispatcher 2011-04-03 19:30:26 +00:00
erwin.coumans
b16b61d9d6 disable constraints when they exceed a breaking threshold, control it with new methods in btTypedConstraint: get/setBreakingImpulseThreshold and get/setEnabled
Disabled constraints are not removed from the world and they use negligible CPU cycles
2011-04-02 19:01:23 +00:00
erwin.coumans
46be84741c fix an issue in the ConvexDecompositionDemo, replacing std::vector by btAlignedObjectArray. 2011-04-01 18:09:31 +00:00
erwin.coumans
88b19eb023 fixes in PosixThreadSupport to enable ThreadingDemo and MultiThreadingDemo to run properly.
fix autotools build (added missing files)
2011-03-30 19:01:29 +00:00
erwin.coumans
2a856f8c32 add support for clipFaceAgainstHull, so we can clip convex polyhedra against triangles (without connectivity information)
in addition to the existing clipHullAgainstHull
Fix for debug drawing of contact points
comment-out some debug drawing code for triangle meshes
2011-03-29 21:58:15 +00:00
erwin.coumans
1f5af32203 make sure Bullet compiles with LLVM/CLANG
See also Issue 496
2011-03-24 21:37:42 +00:00
erwin.coumans
bd88a0c4b8 include stdio.h for printf 2011-03-22 21:44:13 +00:00
erwin.coumans
ee5c10fd9b include stdio.h for sprintf 2011-03-22 21:41:47 +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
72f88856cd only use VBO's and USE_GPU_COPY -> OpenCL/OpenGL interop under Windows, so that stuff compiles/runs on Mac OSX and Linux
See Issue 495
2011-03-19 19:45:24 +00:00
erwin.coumans
f17fa297d5 wrapped up first version of the FractureDemo
move 'split impulse' / position solver before velocity solver, so that applied impulse is available for fracture
add btSliderConstraint::getAngularPos see http://code.google.com/p/bullet/issues/detail?id=489
2011-03-18 00:20:52 +00:00
erwin.coumans
74a65a6207 cleaned up FractureDemo, still need to apply the velocity/impulses after the fracture took place 2011-03-17 00:41:39 +00:00
erwin.coumans
21162f77e3 fixes to make the OpenCL cloth demo run on Apple/GPU 2011-03-15 22:24:27 +00:00
erwin.coumans
6a2a72d987 Fix Apple Snow Leopard build
remove 'ComputeBounds', it isn't used and OpenCL compilation breaks Apple build
2011-03-15 20:30:23 +00:00
erwin.coumans
10580c94bd remove constraints/rigid bodies from dynamics world in btBulletWorldImporter
Thanks to vicariousentertainment, see http://code.google.com/p/dynamica/issues/detail?id=16
Enable SIMD OpenCL cloth solver by default
enable keyboard 'up' for Windows (non-Glut) version
2011-03-11 23:27:04 +00:00
erwin.coumans
b67da9e50a made BasicDemo/Speculative Contacts demo a bit prettier 2011-03-05 21:13:49 +00:00
erwin.coumans
7a9c349a8c enable predictive contact constraints, see BasicDemo 2011-03-05 03:01:44 +00:00
erwin.coumans
a2112b11f0 added missing file capsule.h for DX11ClothDemo
Thanks to Cameron, see Issue 486.
2011-03-04 20:31:57 +00:00
erwin.coumans
b167f69ca2 add debug text/info for Demos/InternalEdgeDemo 2011-03-01 00:49:36 +00:00
erwin.coumans
1e62d5eadf DX11ClothDemo: fix texture load and initial camera position 2011-02-28 05:41:56 +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
d52f58edd8 Synchronize changes from branches/GpuClothAMD to trunk
Main improvements are: GPU cloth collision detection against a capsule shape
,OpenCL-OpenGL interoperability (keeping data buffers on GPU), and bug fixes
Thanks to Lee Howes
2011-02-27 09:07:07 +00:00
erwin.coumans
4e8596eef5 Added some helper methods for constraints and btMatrix3x3,
Thanks to  francois, See Issue 466

Prevent crash in SoftBodyDemo, when picking constraints and demo-mode switches to next demo.
2011-02-27 03:28:53 +00:00
erwin.coumans
e5b5126876 Enable rayTest btDbvt (dynamic aabb-tree) acceleration for btCompoundShape
Thanks to NaN/core13, see Issue 25
2011-02-26 22:19:00 +00:00
erwin.coumans
51dc372993 (de)serialization of softbody joints working now. Resolving Issue 456. 2010-12-16 07:41:00 +00:00
erwin.coumans
ba5012973d Make argument to btDefaultSerializer optional, and use zero by default. This will dynamically allocate data, so there is no need to guess the maximum size anymore.
Remove some cached data from SoftBodyLinkData, to reduce serialization file size.
2010-12-04 01:23:31 +00:00
erwin.coumans
6173a30bce Improved BulletSoftBody serialization, added cluster support. Joints and copying data from GPU back to softbody are the main todo.
Updated the Bullet/Demos/SerializeDemo to load .bullet files with the softbody data.

BulletSoftBody should use getWorldTransform and not getInterpolationWorldTransform
Fix btBulletWorldImporter so that it creates a copy of the index/vertex data, this prevents crashes when deleting the .bullet file with triangle meshes.
2010-12-03 03:11:21 +00:00
erwin.coumans
032c6bfe2c add initial support for soft body / cloth serialization, and updated SerializeDemo to load soft bodies/cloth.
Serializes soft body nodes (vertices), links, faces, tetrahedra, materials, anchors with rigid bodies.
Some todo's are serialization of pose, constraints between soft bodies
2010-12-01 05:55:08 +00:00
erwin.coumans
c49927b4ed Use cylinder inertia tensor, instead of box, by default.
See Issue 427

Expose some internal data for constraints,
Thanks to Francois Sugny, see Issue 420
2010-11-17 23:55:39 +00:00
rponom
635bbb5324 Sample of 6DOF constraint with motor attached to the world added to AppConstraintDemo 2010-11-03 21:34:26 +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
5bb8330b7b Applied patch for several build issues:
+ add empty constructors to make Bullet compile using clang. 
Thanks to Stillmoon for the report and patch, See http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=5730
+ bullet-2.77/Demos/OpenCLClothDemo/cloth.h:103: error: ‘sprintf’ was not declared in this scope
Thanks to pprkut for the report in Issue 435
+ cmake build fails on Unix systems when using BUILD_SHARED_LIBS. Added pthreads to BulletMultiThreaded
Thanks to pprkut for the report in Issue 434
2010-10-04 19:05:56 +00:00
erwin.coumans
d6cbc28b94 prettify the SoftDemo a little bit, and use 1024x768 for ForkLiftDemo and SoftDemo. 2010-09-22 23:02:47 +00:00
erwin.coumans
0292521757 Updated OpenCL (AMD/NVIDIA) and DX11 DirectCompute Visual Studio project files
CMake: minor fixes for project file distribution
Make resource loading more robust for DX11ClothDemo, and remove buttons that crash the demo
2010-09-21 23:09:18 +00:00
erwin.coumans
9c7220a78d updated VectorAddKernels.cl, using float8 operator+
implement float8 operator+ and operator- for MiniCL
2010-09-20 22:08:44 +00:00
erwin.coumans
3e0b92cf3e OpenCL cloth demo improvements:
1) additional seach path for textures 
2) don't fail when textures cannot be found, but use a checked texture instead (programmatically generated)
2010-09-20 21:01:37 +00:00
erwin.coumans
318e0d74dc Fix in btQuickprof that caused crash in ConcaveConvexcastDemo.cpp
Thanks to Roman Ponomarev for the report
Make btVector3::rotate const
Thanks to lepoussin, see Issue 428
CMakeLists.txt improvement: don't copy resources when INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES is set
CMakeLists.txt improvement: INSTALL_EXTRA_LIBS for ConvexDecomposition and GIMPACTUtils
Thanks to andrebra, see Issue 425
2010-09-18 00:24:50 +00:00
erwin.coumans
f689a5e7ce tweaks in the build system for unix/GLEW, see also http://code.google.com/p/bullet/issues/detail?id=421 2010-09-10 00:14:23 +00:00
erwin.coumans
5b34356c43 Load the ParticlesOCL.cl from memory, using the MSTRINGIFY macro, instead of loading it from disk.
Small cleanup of cmake build for NVIDIA and AMD OpenCL

For AMD Stream SDK use:
INCLUDE_DIRECTORIES( ${AMD_OPENCL_INCLUDES} )
LINK_LIBRARIES( ${CMAKE_ATISTREAMSDK_LIBPATH}/OpenCL.lib )

For NVIDIA CUDA SDK:
INCLUDE_DIRECTORIES( ${NVIDIA_OPENCL_INCLUDES} )
LINK_LIBRARIES( ${NVIDIA_OPENCL_LIBRARIES})
2010-09-09 23:07:23 +00:00
erwin.coumans
cb2de12243 btSoftBodySolver_OpenCL::setDefaultWorkgroupSize to customize the work group size.
Thanks to Simon Green for the feedback, see also Issue 419

Added BT_PROFILE for "predictUnconstraintMotionSoftBody"

Added a few missing destructors.
Added AllMemoryBarrier
Thanks to Lee Howes for the commit in the branch.
2010-09-08 22:21:59 +00:00
erwin.coumans
33a41798cf more fixes to the 'make install' feature for both cmake and autotools
now autotools uses the same library naming as cmake: libBulletSoftBody, libBulletDynamics, libBulletCollision, libLinearMath
cmake doesn't install .svn folders anymore
cmake pkgconfig bullet.pc.cmake 'include' folder fixed (removed /bullet postfix)
added BulletCollision/CollisionShapes/btTriangleInfoMap.h to the install
2010-09-07 23:40:17 +00:00
erwin.coumans
44b82652d0 Collision flag CF_DISABLE_SPU_COLLISION_PROCESSING can be combined with other flags (avoids SPU/parallel collision dispatch)
Fix for MinGW32 build
2010-08-30 21:46:23 +00:00
erwin.coumans
8e087a0666 Enable compilation of the NVIDIA OpenCL demos under Linux,
Thanks to Xavier Thomas, see Issue 417
2010-08-26 19:18:10 +00:00