Commit Graph

2109 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
20e95be9cd Fix regression issue: transform is not identity in case of softbody colliding against btCompoundShape.
Fix issue 512
2011-05-11 20:51:57 +00:00
erwin.coumans
cce582d905 Add support for AMDAPPSDKROOT environment variable
Initialize vSolveLinksKernel OpenCL cloth kernel (although kernel is unused)
Fixes Issue 508
2011-04-23 16:01:44 +00:00
erwin.coumans
6ccd5a644a implement stub function for clGetProgramInfo to avoid linker errors
Fixes Issue 510
2011-04-23 15:47:49 +00:00
erwin.coumans
0722e25399 attempt to have doxygen parse the macros.
See also https://bugzilla.gnome.org/show_bug.cgi?id=646003
2011-04-18 17:47:49 +00:00
erwin.coumans
d9a1a1d415 fix bug in the OPC_ArraySAP.cpp (used in Extras/CDTestFramework to compare agains Bullet broadphases)
Thanks to Olli-Pekka Räsänen for the report, mentioned by Pierre Terdiman in his blog:
http://www.codercorner.com/blog/?p=475
2011-04-18 00:08:48 +00:00
erwin.coumans
7dd0cbb726 fix OSX compilation 2011-04-15 19:17:34 +00:00
erwin.coumans
1b305562be Added Pierre Terdiman's 'internal object' optimization to improve performance for separating axis tests.
Make the winding consistent in btConvexHullComputer (and related fixes in btPolyhedralConvexShape), thanks to Ole!
Some fixes in the btPolyhedralContactClipping implementation (never report a penetration deeper than GJK/EPA found, to avoid issues due to its approximate contact normal directions)
Properly visualize btPolyhedralConvexHullShape that have a  btConvexPolyhedron (by calling initializePolyhedralFeatures() method)
2011-04-15 18:37:28 +00:00
erwin.coumans
7d37b3c472 add support for PosixThreadSupport for MiniCL (partial CPU OpenCL replacement) 2011-04-11 16:28:21 +00:00
erwin.coumans
8bc27b39f7 bump up version to 2.78 in a few places missed previously,
fixing issue 506
2011-04-11 15:28:55 +00:00
erwin.coumans
ab7120835f remove msvc/2005, update msvc/2008 2011-04-09 04:31:13 +00:00
erwin.coumans
1c9b2d4224 update changelog 2011-04-09 04:05:09 +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
2291a6a9d3 small update on Bullet Physics Manual (revision number, what's new for 2.78) 2011-04-07 20:48:50 +00:00
erwin.coumans
e9f2176804 fixes in AllBulletDemos OSX projectfile 2011-04-07 17:08:21 +00:00
erwin.coumans
e6044a1086 re-enabled m_maxEdgeAngleThreshold and m_edgeDistanceThreshold 2011-04-07 16:46:22 +00:00
erwin.coumans
d80805d40c apply the DX11 cloth fix to allow DLL usage, see Issue 494 2011-04-07 16:19:51 +00:00
erwin.coumans
a4e8213ede Implemented btDiscreteDynamicsWorld::addSpeculativeContacts, using conservative advancement to find contact point ahead of time
make Extras/ConvexDecomposition thread safe, Issue 501
some improvements to the btInternalEdgeUtility, patch from Issue 501
2011-04-07 06:23:34 +00:00
erwin.coumans
49630e9c77 improvements in separating axis test / polyhedral clipping support.
improved debug rendering for polyhedra
allow to dynamically switch between gjk and sat test to compute separating axis (independent from the polyhedral clipping)
2011-04-07 03:59:14 +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
1fb2fa3db9 put an #ifdef in PosixThreadSupport in the right location 2011-04-02 20:13:50 +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
d198451909 clear the applied impulse for constraints (no warmstarting)
simplify logic, see Issue 499
2011-04-02 00:44:15 +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
852fa3ba30 add the BT_ prefix for all #ifdef guards, to avoid conflicts with developers own header defines.
Fixes Issue 497

//license header
#ifndef BT_RIGIDBODY_H
#define BT_RIGIDBODY_H
class btRigidBody
{
};
#endif //BT_RIGIDBODY_H
2011-04-01 17:14:52 +00:00
erwin.coumans
b1f21a7e6a Add better support for btCollisionWorld::convexSweepTest for btStaticPlaneShape, now using the btContinuousConvexCollision directly.
Bugfix in btKinematicCharacterController, using an uninitialized variable
2011-04-01 16:33:55 +00:00
erwin.coumans
08a93b28f0 re-introduce the radius/epsilon removed in a previous commit, it is necessary for termination. 2011-03-31 21:54:26 +00:00
erwin.coumans
5cee553a96 convexSweepTest: don't report hits if 'needsContactResponse' reports false.
Should fixes Issue 197
2011-03-31 21:20:52 +00:00
erwin.coumans
0bef2e7363 Fixes in btContinuousConvexCollision, should fix Issue 347
Continuous sweeps do not detect hits unless body0 and body1 penetrate more than allowedCcdPenetration.
This is to allow sliding objects (characters) where otherwise any contact would result in TOI = 0.
If objects penetrate deeper than allowedCcdPenetration at the start of the sweep, a TOI=0 is reported, unless the motion will separate the objects.

Secondly, a reportFailure method is added to CastResults, to handle failures gracefully (in case max iterations of conservative advancement is reached etc)
2011-03-31 21:14:35 +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
8847b21eb7 fix for gcc/ubuntu 2011-03-29 09:12:35 +00:00
erwin.coumans
784e7fdb39 Added support for separating axis test for polyhedral shapes
Added initial support for polyhedral contact clipping. 
This clipping takes a separating normal, that can be computed using either SAT or GJK/EPA.
To enable clipping, use btPolyhedralConvexShape::initializePolyhedralFeatures(); (needs to be enabled for both convex shapes)
No concave trimesh support for SAT/clipping yet. To enable SAT, see the toggle in btConvexConvexAlgorithm.
Fixes in contact normal in btGjkPairDetector. Hopefully this doesn't cause any regression (we need unit tests!)
2011-03-29 08:52:18 +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
231a6ac718 remove default constructors, they cause compile errors under Fedora (in Blender) 2011-03-22 16:29:55 +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
5454652e44 fix bug in btBulletWorldImpoter, thanks to Dirk Gregorius for sharing a .bullet file that reproduces the bug 2011-03-19 20:23:38 +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
8995ad440c fix a few more warnings 2011-03-15 22:51:00 +00:00
erwin.coumans
334cc85a1f fix some warnings 2011-03-15 22:48:36 +00:00
erwin.coumans
1a222f642a Stop using wavefront/warp synchronization inside OpenCL/DirectCompute, it is not future proof.
Similar to this commit for DX11: http://code.google.com/p/bullet/source/detail?spec=svn2343&r=2330
See also http://forum.beyond3d.com/archive/index.php/t-55751.html
2011-03-15 22:41:55 +00:00
erwin.coumans
21162f77e3 fixes to make the OpenCL cloth demo run on Apple/GPU 2011-03-15 22:24:27 +00:00