Commit Graph

540 Commits

Author SHA1 Message Date
erwin.coumans
2998d2a8f3 Added ReadBlend, a data extraction API for Blender's .blend files
This can come in handy, to author physics data for Bullet from Blender, and directly get the physics data straight from the .blend file

Thanks a lot to Adam D. Moss, to digg up this code and make it available under the MIT license
It was mentioned several years ago in this thread:
http://archives.seul.org/linuxgames/Apr-2005/msg00002.html
2008-10-06 03:53:51 +00:00
erwin.coumans
b281057337 made shape construction virtual, to allow destruction of memory of btCollisionShape 2008-10-04 01:11:40 +00:00
erwin.coumans
23b2767100 add support for exporting static plane shape in ColladaConverter. 2008-10-03 23:58:55 +00:00
john.mccutchan
9e8410dbae Add libgimpact, libgimpactutils, libglui, libconvexdecomposition, soft body demo, all bullet demos to autotools build 2008-10-03 23:01:04 +00:00
john.mccutchan
e431450620 Initial support of Autoconf / Automake build system
Now running ./autogen.sh and ./configure will produce both Makefiles built from Autoconf and Automake 
as well as Jam build files.
2008-10-02 22:23:01 +00:00
erwin.coumans
425376a416 Update MayaPlugin projectfiles, to compile for Maya 8.5, when available. If multiple Maya versions are installed, the include path order is Maya 2008 -> 8.5 -> 8.0 2008-10-02 01:29:10 +00:00
erwin.coumans
0ca2eef022 FIX: use btScalar instead of float, otherwise double precision build breaks
FIX: make Maya plugin compile for Maya 8.0
FIX: btDbvt SSE doesn't compile for double precision builds
2008-10-02 01:17:18 +00:00
erwin.coumans
9f28b2bc12 Improve damping formula in btRigidBody::applyDamping
Thanks to sparkprime, see http://code.google.com/p/bullet/issues/detail?id=74
Fixed btCompoundShape/btCapsuleShape/btGImpactShape for missing m_shapeType, and added an assert in DemoApplication::localCreateRigidBody for invalid shape types.
2008-09-30 00:34:58 +00:00
john.mccutchan
f3b417df6c Modification to SPU collision detection and ray cast code to share implementation of GJK, EPA, Minkowski penetration depth solver, voronoi simplex solver across multi-threaded and non-multi-threaded versions. 2008-09-29 22:48:44 +00:00
nicola.candussi
e0d1c1d057 fixed the bug were the first object created was translated back to the
origin
2008-09-24 12:40:15 +00:00
nicola.candussi
965ef932e9 fixed rotation and translation issues for mesh and hull collision shapes 2008-09-22 18:07:39 +00:00
erwin.coumans
a5da7347db changed order in link libraries, math should go last 2008-09-22 14:33:39 +00:00
nicola.candussi
106b18813e copying the initial* to position and rotation for rigid body arrays in the
first frame
2008-09-22 10:41:56 +00:00
erwin.coumans
255de503e0 renamed OBJ to COLLADA 2008-09-22 02:12:35 +00:00
erwin.coumans
3d64413ec2 Add Dynamica Bullet installer script for NSIS Nullscript scriptable install system 2.39 for Windows.
Assumes Microsoft Visual Studio 2005 installed in the default location, and BulletMayaPlugin.mll compiled.
2008-09-22 02:01:09 +00:00
nicola.candussi
90cb458129 2008-09-20 10:25:30 +00:00
erwin.coumans
a7c83d01b9 Added ReleaseDll and DebugDll configurations for MSVC projectfiles.
Fixed the MayaPlugin projectfile, using those ReleaseDll/DebugDll projects.
2008-09-20 00:47:04 +00:00
erwin.coumans
97766f45e6 updated MSVC projectfiles: added colladaExport.*, drawUtils.* and BulletColladaConverter, COLLADA_DOM and libxml.
Note: Bullet libs need to be switched to Multithreaded DLL run-time: we should add additional configurations for plugins!
2008-09-19 08:05:55 +00:00
erwin.coumans
c30a8bf154 added COLLADA Physics export. import will follow soon.
Note that the exporter/importer doesn't handle GIMPACT and btStaticPlaneShape yet.
2008-09-19 07:14:48 +00:00
erwin.coumans
ff46ceb519 make MayaPlugin work under Mac OSX (intel/x86), build/install:
make -f Makefile.mac
make install -f Makefile.mac

It assumes Maya is installed in the default location, and plugin will install in default /Users/Shared/Autodesk/maya folder.
2008-09-19 00:47:56 +00:00
nicola.candussi
a45ef86d92 2008-09-17 11:54:59 +00:00
erwin.coumans
1346c95205 reverted back to newer btDbvtBroadphase, and applied Nathanael's fixes. 2008-09-13 08:06:39 +00:00
erwin.coumans
50daff0848 added install.bat used for the Windows release, and updated docs to add instruction videos and link to the forums for support. 2008-09-12 21:22:30 +00:00
id0x1234
147b6c8975 -Divide speed by 10 for more useful results as recommended by Pierre Terdiman.
-Using shared speed value.
2008-09-11 11:32:38 +00:00
erwin.coumans
32ab5d3691 fix crash in Maya plugin, trying to access elements in a zero-length positions/rotations array. 2008-09-11 00:57:53 +00:00
erwin.coumans
62f6c16fe3 Added documentation and sample scenes for MayaPlugin
Thanks to Walt Disney Studios.
2008-09-06 00:41:46 +00:00
erwin.coumans
82b64b0565 exclude BulletMultiThreaded from 64-bit builds 2008-09-05 20:56:50 +00:00
erwin.coumans
bfe4c2da55 updated projectfiles for OSX demo 2008-09-05 01:43:25 +00:00
erwin.coumans
359c84d3b3 Fix previous commit, accidently removed some aabbMin/aabbMax assignments.
move margin calculation for aabb before basis transform.
2008-09-05 00:26:02 +00:00
erwin.coumans
4f1a015b41 Added CUDA link + usage info for btCudaBroadphase demo. 2008-09-04 23:28:49 +00:00
erwin.coumans
aef74321d7 Added btCudaBroadphase, some early research & development work to accelerate Bullet using CUDA
Re-uses the NVidia particle demo.
2008-09-04 23:24:11 +00:00
erwin.coumans
d8a5bf2c9c Calculation of bounding box: margins should be added before basis transform.
Disable btSphereBoxCollisionAlgorithm, it is broken.
More fixes for btSimpleBroadphase
Moved quickstep to Extras/quickstep folder, so developers don't get confused which constraint solver is default.
2008-09-04 22:53:24 +00:00
erwin.coumans
5334611f48 Added MSVC 2005 project and solution. Removed glutInit/GLUT dependency. Fixed minor bug (return of non-existing variable c) 2008-09-04 22:35:08 +00:00
nicola.candussi
5d2720d267 Added "real" unique ids to the nodes 2008-09-04 12:39:11 +00:00
nicola.candussi
21b0ccfcc2 2008-09-02 09:44:59 +00:00
erwin.coumans
932de57d4c Updated CDTestFramework with the OPCODE Array SAP test.
Thanks Pierre Terdiman for the latest update.
2008-09-01 18:46:57 +00:00
erwin.coumans
1fbeedc7b9 added a #define around unaligned DMA in SpuFakeDma.cpp 2008-08-29 00:49:31 +00:00
john.mccutchan
32bf51aa47 Fixed memory leaks in ConvexDecomposition and ColladaConverter libraries
Added ConvexDecompositionDemo to CMake build
2008-08-28 17:36:50 +00:00
nicola.candussi
d78a46fea2 First MayaPlugin, still need to fix the makefiles and get unique ids for
the Maya nodes.
Got rid of boost dependencies.
Cleaned up mvl library
2008-08-25 15:11:33 +00:00
erwin.coumans
c66b5531a3 Fix memory leak, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2500&p=9848 2008-08-19 15:40:21 +00:00
id0x1234
2db430ca4f +Changed process/thread priority for more accurate benchmarking.
+btDbvt benchmarking can be enable/run in main()
2008-08-14 23:44:39 +00:00
erwin.coumans
7bf65e95f4 add patch for Havok 5.5 to add COLLADA Physics conversion 2008-08-01 05:15:50 +00:00
erwin.coumans
bc73c91a39 Converter from Havok .hkx to COLLADA Physics .dae files. Patch for SimpleLoadDemo.cpp. Requires Havok 5.5 SDK, free for download from Intel website. 2008-08-01 04:57:26 +00:00
erwin.coumans
af4520801b + Fix btSubsimplexConvexCast
Thanks to Nacho, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2422)
Fix in rendering, GL_STENCIL
+ btTriangleIndexVertexArray indices should be unsigned int/unsigned short int,
+ Made InternalProcessAllTriangles virtual, thanks to 
Both thank to Fullmetalcoder, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2401
+clamp impulse for btPoint2PointConstraint
Thanks to Martijn Reuvers, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2418
+ Free memory of bvh, pass in scaling factor (optional)
Thanks to Roy Eltham, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2375
2008-07-31 19:44:28 +00:00
erwin.coumans
9cd83c004b + add dummy getcwd/getenv for PS3 compatibility
+ disable HAVE_SIGNAL_H 0 for LibXML
+ removed unused variable in btCollisionWorld
+ removed unused variable in btSequentialImpulseConstraintSolver
2008-07-28 23:15:43 +00:00
erwin.coumans
3ca977e39f Patch by Nathanael Presson: (needs some more work, some of the demos don't show properly (RayCaster, CollisionInterfaceDemo,'g' key is already occupied in ConcaveDemo etc)
btDbvtBroadphase:
- Fixed a performance issues reported by 'reltham'
- Added btDbvtBroadphase::optimize() for people who want good performances right away or don't do dynamics.
- fixed compilation issues when DBVT_BP_PROFILE was set.

btSoftBody:
- Fixed singular matrix issues related to polar decomposition (flat meshes).

DemoApplication:
- Shadows (enable/disable through 'g' or DemoApplication::setShadows(bool)).
- Texture can be enable/disable through 'u'

CDFramework:
- fixed compilation issues.
2008-07-28 04:33:55 +00:00
erwin.coumans
016db0b3c5 Bind the SplitImpulse button to SimulationParameters and use the Objective-C SplitImpulse variable
Thanks to Shamyl Zakariya for the OSX Interface Builder help!
2008-07-16 23:58:23 +00:00
erwin.coumans
6f8b396575 use different namespace for SPU version of btGjkEpa2 to avoid name clashes. 2008-07-14 17:19:50 +00:00
erwin.coumans
8f3e9603f3 + fixed issue related to temporary/root collision shape in btCollisionObject
+ normalize plane normal input for btStaticPlaneShape
+ fixed issue related to swapped collision detectors (SphereTriangleDetector in particular)
Thanks a lot to Andrey Tuganov for reporting the issue and his reproduction case ( http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2143 )
2008-07-11 05:39:31 +00:00
erwin.coumans
b66e5350d0 rename HasHit method to hasHit
rename AddSingleResult to addSingleResult
moved collision filtering for btCollisionWorld::rayTest and btCollisionWorld::convexSweepTest from argument to the callback needsCollision
2008-07-09 23:30:21 +00:00
erwin.coumans
2c224b41c5 bump up the version to 2.70, and add (non-working) button for OSX template 2008-07-09 05:13:18 +00:00
erwin.coumans
dcd57f333b + improved KinematicCharacterController
+ improved btSubsimplexConvexCast, btContinuousConvexCollision and btGjkConvexCast to support configuration that start in touching/penetration, required for 'sliding'.
+ added files to CMakeLists.txt for CharacterController
+ bump up version to 2.70 (preparation for beta)
2008-07-09 00:08:49 +00:00
erwin.coumans
b6af86bd98 need to include <windows.h> before glut.h (issue with glui.h) 2008-07-03 23:24:56 +00:00
erwin.coumans
dbc464f831 Applied patch from Alex Silverman, to swap the partId/triangleId correctly.
http://code.google.com/p/bullet/issues/detail?id=54
Thanks for the patch!
2008-06-26 23:52:39 +00:00
erwin.coumans
e854a5133b add support for non-power-of-2 dma sizes (for small dma transfers)
add setBroadphase
2008-06-24 02:15:06 +00:00
erwin.coumans
d16c1b615f pass in reference to actual contact point in cache, rather then temporary value, should fix issue 53
http://code.google.com/p/bullet/issues/detail?id=53
Thanks Alex Silverman for reporting and suggested fix
Changed addContactPoint to lowercase
2008-06-22 03:30:55 +00:00
erwin.coumans
8634b6ba14 fixed a few issues with BulletColladaConverter/ColladaConverter.cpp, related to constraints. 2008-06-05 05:09:47 +00:00
erwin.coumans
35083aae4a moved predictUnconstraintMotion to SPU 2008-06-04 02:39:37 +00:00
erwin.coumans
8827d5dbfb undo btQuadWord changes, added integration in parallel SpuSampleTask 2008-06-04 02:01:41 +00:00
erwin.coumans
5e3777ddd2 added sample task, for multi threading tests
added union vec_float4 m_Vec128; for btVector3 for SPU and PPU.
2008-06-03 21:24:34 +00:00
erwin.coumans
d49aeb9dff + improved split impulse constraint solver option
+ improved friction warm starting
+ made constraint solver configuration more consistent (moved m_solverMode into btContactSolverInfo)
+ reset timing in CDTestFramework after initialization (SAP init destorts timings)
+ make it easier to change default sizes for stack allocator in btDefaultCollisionConfiguration
2008-05-29 03:33:32 +00:00
erwin.coumans
3726af466e removed obsolete files, make CDTestFramework compile again 2008-05-25 07:32:44 +00:00
erwin.coumans
f8e5481612 Added method to collect all persistent contact manifolds, given a btBroadphasePair (collision algorithm)
virtual	void	getAllContactManifolds(btManifoldArray&	manifoldArray)
See Demos/CharacterDemo/CharacterDemo.cpp for example usage of getAllContactManifolds
Added btDbvtBroadphase to btBulletCollisionCommon.h headerfile
Enable soft body vs concave (albeit slow)
Improved contact point debug rendering (moved from constraint solver into debugDrawWorld)
2008-05-24 04:23:00 +00:00
erwin.coumans
561066af75 + make compound versus soft body work (soft body uses interpolated transform)
+ fixed issue with persistent manifold, warmstarting values were not initialized properly
+ don't clear manifold in sphere-sphere collision (need warmstarting)
+ added support for 'split impulse', decouple positional error correction from velocity correction
This avoids adding momentum due to penetration correction, it can be tuned using following variables:
solverInfo.m_splitImpulse = true/false (disable/enable)
solverInfo.m_splitImpulsePenetrationThreshold (below this value, baumgarte/mixed velocity/penetration is used (cheaper, looks more plausible)
solverInfo.m_linearSlop (less jitter, when small amound of penetration is allowed)
2008-05-23 09:05:37 +00:00
erwin.coumans
ea86559480 removed some warnings 2008-05-21 23:29:35 +00:00
erwin.coumans
0b48b1c76b Added Mac OSX XCode project with Cocoa userinterface (wrapping GLUT) for Bullet demos
Thanks to TomorrowPlus for the constribution!
2008-05-18 00:38:17 +00:00
erwin.coumans
d9e7058ff2 Softbody improvements, thanks to Nathanael 2008-05-17 12:39:16 +00:00
erwin.coumans
649709dc2d updated build files 2008-05-10 19:24:39 +00:00
erwin.coumans
bd97c5e569 Fixed warnings in Bullet/src core library
Thanks Martijn Reuvers from Two Tribes B.V. (www.twotribes.com) for the patch

To make this work more visible, suppress warnings in external libraries in Extras (COLLADA_DOM, libxml and glui contain many warnings)
Added PreprocessorDefinitions: _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE to vcproj files
2008-05-10 18:00:21 +00:00
john.mccutchan
3268cab6d7 Add EPA penetration depth solver support to bullet multithreaded.
Update SubSimplexConvexCast algorithm used in bullet multithreaded.
2008-05-06 00:44:18 +00:00
erwin.coumans
25c5d0d57a +Added btDbvtBroadphase, this very fast/efficient broadphase is based on Dynamic AABB tree (btDbvt).
+SoftBody improvements by Nathanael Presson:
+Add tetrahedralization
+Add support for tearing/slicing cloth and deformable volumes. Uncomment the line in Bullet/src/BulletSoftBody/btSoftBodyHelpers.h: //#define	BT_SOFTBODY_USE_STL	1
2008-05-05 23:19:21 +00:00
john.mccutchan
bce0047986 Add a destructor to ColladaConverter.
Two minor fixes to ColladaConverter as well.
2008-04-28 21:53:10 +00:00
erwin.coumans
1139c06a4d more soft body preparations, moved some parts from Demo/SoftBody to src/BulletDynamics/SoftBody
moved Extras/ConvexHull/btConvexHull.* to src/LinearMath/btConvexHull.*
removed btCollisionObject::m_internalOwner, replaced it by m_internalType. This should not affect external API (it was clearly marked as internal)
2008-04-10 20:00:41 +00:00
erwin.coumans
03d846add0 cleanup of Stan Melax ConvexHull utility, all memory allocations go through btAlignedAlloc/btAlignedFree, instead of new/delete.
It can be moved into Bullet/src now.
2008-04-10 05:36:17 +00:00
john.mccutchan
7066c43d79 Fix normals being lost in batch raycaster 2008-04-08 22:47:36 +00:00
erwin.coumans
2ee866e37f fix in partId/triangleId, thanks Alex 2008-04-08 22:28:02 +00:00
erwin.coumans
bfe6774399 removed unused structure 2008-04-08 21:14:14 +00:00
erwin.coumans
daf293c43e don't try to include <pthread> if USE_PTHREADS is not defined 2008-04-08 02:13:05 +00:00
erwin.coumans
c1a10fd1fe Add support for part/triangle id for GIMPACT.
Thanks Alex Silverman:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2032
2008-04-07 19:37:04 +00:00
erwin.coumans
8ddbf12f1a only move 10% of objects
added relative path to Bullet projectfiles (math/collision)
2008-04-02 19:22:08 +00:00
erwin.coumans
1ef4c721a0 CDTestFramework, OPCODE, ICE redistributed under the ZLib License, with permission of Pierre Terdiman
Added Bullet SAP/MultiSAP support by Erwin Coumans (BulletSAPCompleteBoxPruningTest.*)
AABB tree broadphase by Nathanael Presson (btDbvt.*, DbvtTest.*)
2008-04-02 18:05:36 +00:00
john.mccutchan
ba27e0522b Add posix thread backend to BulletMultiThreaded. Contributed by Enrico. 2008-04-01 18:32:41 +00:00
erwin.coumans
64df6edf39 reverted DISABLE_CELL_DMA_READ_ONLY
commented out printf
2008-04-01 00:29:21 +00:00
erwin.coumans
b12c52efa8 removed AlternativeCollisionAlgorithms, and moved btBoxBoxDetector from Extras into Bullet core collision detection
Re-distribute ODE box-box under the ZLib license as part of Bullet, with permission of Russell L. Smith.
2008-03-30 20:54:14 +00:00
erwin.coumans
a9080f2984 removed quickstep from Extras folder, into Bullet core as optional constraint solver.
Re-distributed under the Zlib license with permission from Russel L. Smith.
2008-03-30 20:51:49 +00:00
john.mccutchan
1464097327 Minor changes to SpuBatchRaycaster
Add DISABLE_CELL_DMA_GET_READ_ONLY define to SpuCollisionShapes
2008-03-28 19:10:46 +00:00
john.mccutchan
d775191eff Fix memory leak in btShapeHull 2008-03-27 21:17:47 +00:00
erwin.coumans
65bb612598 - added quickSort to btAlignedObjectArray (has generally better performance then heapSort)
- replaced all usage of heapSort by quickSort
- finished btMultiSapBroadphase. Still some work to be done to increase performance (faster add/remove from child broadphases. 
  uses currently AABB tree to locate child broadphase (should use grid), and sorted array takes too much time.
2008-03-16 04:30:43 +00:00
john.mccutchan
3b9e114d9b Ensure that the dom is instantiated inside registerRigidBody and registerConstraint.
Add a reset method to the colladaconverter so that the user can reuse the same converter.
2008-03-14 18:46:03 +00:00
john.mccutchan
fde2551637 Implement deRegisterConstraint and deRegisterRigidBody.
Add getName method for querying the dom for the name of a constraint or rigid body.
2008-03-13 20:57:23 +00:00
erwin.coumans
fe5386a5c8 Made the move from sourceforge to googlecode (no svn sync any longer)
Fixed BulletColladaConverter load/save
Removed btTypedUserInfo
Added btHashMap
Fixed btCapsuleShape
2008-03-13 05:16:42 +00:00
ejcoumans
f77a4f1494 use newton-rapson iteration for more precise normalize() method 2008-02-28 07:11:29 +00:00
johnmccutchan
94586390b6 IBM CELL SDK 3.0 fixes 2008-02-28 00:07:00 +00:00
ejcoumans
f51ac89dbe add support for 16bit indices and 3-float vertices (instead of btVector3 which is 4float) in
in btTriangleMesh container and ColladaConverter.

btTriangleMesh now derives from btTriangleIndexVertexArray, so it can be used for meshes on SPU
2008-02-18 04:23:50 +00:00
ejcoumans
9aec3255ef add support for 16bit indices and 3-float vertices (instead of btVector3 which is 4float) in
in btTriangleMesh container and ColladaConverter.

compile issue with PlatformDefinitions in GDC demo.
2008-02-18 01:37:30 +00:00
ejcoumans
a8951e27b3 improved COLLADA Physics export support, add render meshes, instance physics/visual scene 2008-02-17 00:06:30 +00:00
johnmccutchan
b0403a8ee4 Add notes about future optimization possibilities. 2008-02-14 22:15:25 +00:00
johnmccutchan
594963b25d Optimization work on SpuRaycastTask:
For ray vs. optimized bvh mesh traverse tree once for entire packet of rays
Avoid DMAing ray output data until we have a hit
2008-02-14 22:11:56 +00:00
ejcoumans
fe426229a7 Add 16bit indices support for Raycast + add alignment 2008-02-13 22:22:42 +00:00
johnmccutchan
abc0391742 Use btAlignedAlloc/btAlignedFree 2008-02-13 19:10:45 +00:00
ejcoumans
fc333d2e18 updated Jam and CMake build files for new Extras/ConvexHull library 2008-02-13 08:15:58 +00:00
ejcoumans
eeb78b8d45 free memory for btShapeHulls, keep track of it in GL_ShapeDrawer.
move btShapeHull and btConvexHull into its own library in Extras/ConvexHull (it allocates memory using mem/delete and refactoring into using btAlignedAlloc/Free takes too much time)
fix heightfield / btOptimizedBvh for quantization, so that raycast can use quantized aabb (clamp up for maxima and down for minima)

work-in-progress (update projectfiles etc)
2008-02-13 07:14:19 +00:00
johnmccutchan
98006e5607 Tweaks to SpuBatchRaycast code 2008-02-13 03:10:53 +00:00
ejcoumans
1d576dd0af added COLLADA domAsset (authoring tool/upaxis), added dummy time that complies with COLLADA (needs fixing), fixed include path again (relative to current folder) 2008-02-12 23:44:21 +00:00
ejcoumans
c1bceede01 existing projectfiles include Extras/BulletMultiThreaded, so we can't have
-#include "BulletMultiThreaded/PlatformDefinitions.h"
but
+#include "PlatformDefinitions.h"
2008-02-12 20:54:07 +00:00
johnmccutchan
2ca9503eb5 Fix include path 2008-02-12 02:36:35 +00:00
ejcoumans
fe4e81ebff - support both 32bit and 16bit indices in ColladaConverter
- added triangle part/index into btManifoldPoint
2008-02-09 03:34:53 +00:00
ejcoumans
6b3587a505 moved implementation from ColladaDemo into ColladaConverter, so that it can be used without change with any btDynamicsWorld. 2008-02-08 23:46:37 +00:00
johnmccutchan
c374217953 Use the rigid body angular factor in the parallel solver. 2008-02-08 20:02:26 +00:00
ejcoumans
71b58309cf add support for X,Z axis aligned capsules 2008-02-08 01:10:34 +00:00
ejcoumans
661176bfed coding convention in Bullet is to keep return type on same line as method:
btClassName
{
  void myTest();
};

void myTest()
{

}

int getNumObjects()
{
}
2008-02-07 08:12:08 +00:00
ejcoumans
781440edc8 warning C4715: 'ColladaConverter::findGeometry' : not all control paths return a value
temp fix for snprintf, _snprintf under WIN32
2008-02-07 08:05:58 +00:00
johnmccutchan
8e31abc265 Lots of changes to ColladaConverter: btCollisionObject, btCollisionShape and btTypedConstraint
now hold pointers to dom elements in their btTypedUserInfo fields. This makes the ColladaConverter
less fragile.
2008-02-05 19:00:32 +00:00
johnmccutchan
31c1406fd4 Define spu_printf for Linux 2008-02-05 18:58:28 +00:00
ejcoumans
31a88b386f error C2086: 'j' : redefinition 2008-02-05 06:35:25 +00:00
ejcoumans
37837f204a missing return in main.cpp
remove unwanted libxml files (testfiles containing 'main')
2008-02-05 06:14:51 +00:00
ejcoumans
984811f459 fixes to compile/share more code between SPU and PPU 2008-02-01 03:44:17 +00:00
ejcoumans
5399a9ae8c fixes to compile/share more code between SPU and PPU 2008-02-01 03:35:54 +00:00
ejcoumans
1cdd5bf67f add support for 16bit and 32bit indices in SPU/BulletMultiThreaded version of btBvhTriangleMeshShape 2008-02-01 02:13:24 +00:00
johnmccutchan
995b4d7b92 Added some TODO items to ColladaConverter.cpp 2008-01-30 01:59:52 +00:00
johnmccutchan
7c40589831 Added full featured saving support including collision geometry and constraints. 2008-01-30 01:53:08 +00:00
ejcoumans
5c40e615bd make source compile under MinGW32
todo: link against OpenGL GLU/GLUT.
2008-01-30 01:09:01 +00:00
ejcoumans
30e1c56520 fix doubleprecision build 2008-01-24 02:40:15 +00:00
ejcoumans
af85183a48 fixed to get MacOSX to compile, added new files to CMakeLists.txt 2008-01-23 23:13:31 +00:00
johnmccutchan
be0beaf7bd Refactored SpuGatheringCollisionTask to use code in SpuCollisionShapes.
More work on SpuBatchRaycaster. It is working now on the PS3 and Windows.
2008-01-14 23:44:07 +00:00
ejcoumans
6ba6805b43 bugfix: need to use returned address of cellDmaSmallGetReadOnly
Thanks John McCutchan for pointing this out. Affects non-Cell BulletMultiThreaded.
2008-01-12 00:07:39 +00:00
johnmccutchan
702323f27a Initial work on batch raycast support. 2008-01-08 23:38:33 +00:00
ejcoumans
abfe5c81f7 ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE) for COLLADA_DOM/CMakeLists.txt, so that msvc stop warning/complaining about sprintf etc. 2008-01-03 04:59:07 +00:00
ejcoumans
d051e2eacb First commit of 2008, Happy New Year!
Add option to compile without btClock and without profiling: comment out USE_BT_CLOCK, and #define BT_NO_PROFILE
Fixed typo/case in #include "LinearMath/btQuickProf.h", in SpuParallelSolver.cpp
Removed unnecessary files from libxml CMakeLists.txt
2008-01-03 04:42:00 +00:00
ejcoumans
17a214a2b3 - Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
This was harder using default arguments. Thanks Vangelis Kokkevis for pointing this out.
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
- fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
- Removed obsolete QUICKPROF BEGIN/END_PROFILE, and enabled BT_PROFILE. Profiling is enabled by default (see Bullet/Demos/OpenGL/DemoApplication.cpp how to use this).
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
2007-12-17 04:26:36 +00:00
ejcoumans
b8c2cb6f53 Stop MSVC 8/9 from moaning
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS)
2007-12-15 03:41:07 +00:00
ejcoumans
c09a09d169 replaced cellDmaSmallGet by mfc command 2007-12-15 03:03:09 +00:00
ejcoumans
61ffa6a1b5 Updated cmake files, added header files, Thanks John McCutchan
re-autogenerated msvc projectfiles with new HelloWorld/BulletMultiThreaded Demo 
Minor fixes
2007-12-15 02:48:24 +00:00
ejcoumans
6dff743d68 Cleanup some #defines in parallel collision detector, add conditional freeglut support to return from glutMainLoop. 2007-12-15 00:40:34 +00:00
ejcoumans
335c79a2a2 added CMake support for AllBulletDemos 2007-12-14 08:35:35 +00:00
ejcoumans
c5e6044e53 added MultiThreadedDemo 2007-12-14 07:17:35 +00:00
ejcoumans
d7354e5387 get SequentialThreadSupport to compile on the Mac 2007-12-14 06:21:51 +00:00
ejcoumans
38349b5af4 add freeglut (work in progress) 2007-12-14 01:46:49 +00:00
ejcoumans
961c38269b Added address to debug memory allocator
Renamed 'free' in 'freeMemory' to avoid name clashes with some Microsoft debugging tools.
2007-12-14 01:45:13 +00:00
ejcoumans
599579803e Added portable non-parallel implementation for btThreadSupportInterface: SequentialThreadSupport, Thanks John McCutchan (JMC)
Added CMake support for BulletMultiThreaded.
2007-12-13 03:47:47 +00:00
ejcoumans
8d10a6ba1d Fix friction and restitution in BulletMultiThreaded (collision detection and parallel solver)
Thanks to lsgmasa for reporting, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1758
2007-12-12 03:41:35 +00:00
johnmccutchan
66cdbb9659 Fixes for IBM Cell SDK 3.0 by Jochen Roth 2007-12-11 19:49:09 +00:00
ejcoumans
bf5a4a7d39 added workaround to compile libxml under Visual Studio 2008 Beta 2 2007-12-10 00:44:18 +00:00
ejcoumans
a34f229ad3 make glui compile under MSVC 9.0 beta (vsnprintf is already defined) 2007-12-10 00:33:19 +00:00
ejcoumans
e5720170f0 demo cleanup part 2 (gimpact memory leaks) 2007-12-07 01:21:37 +00:00
ejcoumans
58014b9848 2007-11-21 04:01:12 +00:00
ejcoumans
cab75b53ec added hierarchical profiling (needs more cleanup)
avoid dynamic allocations in btRaycastVehicle
2007-11-21 03:00:40 +00:00
ejcoumans
56c69bc42e - stop threads when exiting demo that uses multi threading
- improved friction model for parallel solver (align the friction direction with projected velocity, unless the projection is close to zero (only then use 2 arbitrary axis orthogonal to contact normal)
2007-11-11 22:48:08 +00:00
ejcoumans
232f41353f fixed issue with BulletMultiThreaded parallel solver friction constraint initialization, and removed unused velocityImpulse. 2007-11-11 18:39:47 +00:00
ejcoumans
dd934ebd02 modified Jamfile for GIMPACT, to properly install headerfiles 2007-11-08 17:57:04 +00:00
ejcoumans
126f46cb99 attempt to try to 'install' the headers of GIMPACT 2007-11-07 12:35:57 +00:00
ejcoumans
12c39a9d9f fixes in glui.h, forward declare classes 2007-11-05 07:38:22 +00:00
ejcoumans
a101719687 - removed warnings in GLUI, thanks Jorrit Tyberghein for the patch!
- removed memory leaks from BasicDemo and Bullet library (other demos needs to be cleaned up!)
- added memory leak debugging functionality in btAlignedAlloc.h: #define BT_DEBUG_MEMORY_ALLOCATIONS
2007-10-31 08:00:03 +00:00
ejcoumans
550c500ca7 Set debug drawer for demo
Fixed issue with toggle of activation in the DemoApplication
added hint/todo for Win32ThreadSupport
2007-10-23 01:16:31 +00:00
ejcoumans
85b4b149b7 missed one dynamicCast 2007-10-21 03:15:14 +00:00
ejcoumans
11a0589732 removed the need for RTTI/runtime type checking/dynamic_cast in glui. It is unnecessary to overhaul the build systems just for this feature. Replaced by upcasting virtual methods
if ( !dynamic_cast<GLUI_Rollout*>(this) &&
becomes
if ( !this->dynamicCastGLUI_Rollout() &&
etc.
2007-10-21 03:02:11 +00:00
ejcoumans
fb1a4bd37e for now use default GLUT, we check out freeglut later 2007-10-20 16:28:16 +00:00
ejcoumans
49d9b14b14 fixed optional lib dependency in Jam build system for Extras/boxbox and Extras/quickstep 2007-10-20 15:35:36 +00:00
ejcoumans
c625e756fe replaced btSimdMinMax.h by btMinMax.h in a few remaining places 2007-10-19 20:48:06 +00:00
ejcoumans
dbe502c5a8 prepare for Box2D style gui demo 2007-10-18 06:37:36 +00:00
ejcoumans
8f7b132d23 add glui library 2007-10-18 04:59:58 +00:00
ejcoumans
830c096e10 added a cellDmaLargeGetReadOnly/cellDmaGetReadOnly, which avoid memcpy on non-SPU platforms.
enabled it for triangle mesh aabb DMA transfers. Todo: check if it is worth also modifying other parts of the code to avoid the memcpy into the 256kb Task memory.
2007-10-16 23:58:26 +00:00
ejcoumans
6303d98844 - use mfc directly, instead of cellDmaSmallGet (allow sizes under 32 bytes, instead of 16)
- align btBroadphaseProxy to 16 bytes
2007-10-16 00:52:23 +00:00
ejcoumans
6797ee41cb updated BulletMultiThreaded Libspe2 version, it now runs parallel collision detection properly on IBM Cell SDK 2.1, with Playstation 3 Linux on SPUs. 2007-10-15 05:45:12 +00:00
ejcoumans
e13cbe06ba removed unnecessary files from Libspe2 Makefile 2007-10-15 01:18:32 +00:00
ejcoumans
ffcdb0f93d BulletMultiThreaded needs to refreshContactPoint for contact manifold (this has been moved to the collision detector, instead of constraint solver)
BulletMultiThreaded support function for box shouldn't compensate for the collision margin anymore
2007-10-14 01:51:07 +00:00
ejcoumans
43b0ecd71a 2007-10-14 00:39:01 +00:00
ejcoumans
1a926dac9c removed obsolete GIMPACT 0.2 docs 2007-10-14 00:05:04 +00:00
ejcoumans
ea3dfb4ca3 made 'calculateLocalInertia' const, thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514
- applied a large patch to remove warnings
Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568
- removed SSE includes, added #incude <string.h> for memset in Extras/quickstep, thanks Eternl Knight
- disabled 16-byte alignement on btQuadWord class, it causes problems under PS3 Linux. Need to check out why.
2007-10-13 23:41:37 +00:00
ejcoumans
0aff20fc94 fixed issue, double precision doesn't compile with SSE 2007-10-12 08:23:43 +00:00
ejcoumans
b0627e30cf moved Bullet COLLADA Convert into Extras folder, instead of embedded in the ColladaDemo 2007-10-12 07:39:04 +00:00
ejcoumans
ca24f9941e updated files for GIMPACT Cmake build 2007-10-12 07:12:55 +00:00
ejcoumans
9e530a005c make parallel solver compile on MSVC 6 2007-10-12 06:59:59 +00:00
ejcoumans
eff4fe8ec8 more work on hashed pairmanager. growing doesn't work yet, so need to allocate enough room for the overlapping pairs in advance.
boxbox reports contact point in B, rather then average point
box, cylinder use halfextents corrected for scaling and margin. made the margin in this halfextents explicit in the 'getHalfExtentsWithMargin' and 'getHalfExtentsWithoutMargin'
integrated changed for ODE quickstep solver
replaced inline with SIMD_FORCE_INLINE
some minor optimizations in the btSequentialImpulseConstraintSolver

added cone drawing (for X,Y,Z cones)
2007-10-12 02:52:28 +00:00
ejcoumans
0405ce278a use size_t instead of int, for allocator
added hashtable based PairManager, thanks Pierre Terdiman and Erin Catto
improved friction in 'cachefriendly' solver
moved 'refreshcontactpoints' into collision detection, instead of solver
avoid linear search for contact manifolds, by storing an index
ignore margin for sphere shape (its entire radius is already margin)
avoid alignment checks in BVH serialization, they don't compile on 64-bit architectures
made 'bomb' box more heavy
2007-10-11 03:17:54 +00:00
ejcoumans
bb89cbcf08 quickstep improvements, thanks to Remotion
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1557
2007-10-11 03:07:11 +00:00
ejcoumans
cc9a42d4e3 update build for IBM Cell SDK 2007-10-03 00:38:08 +00:00
ejcoumans
9a427a4ad9 make GIMPACT compile under MSVC 6 2007-09-30 03:40:44 +00:00
ejcoumans
150f7f704b pass vector by reference (alignment) 2007-09-30 03:33:12 +00:00
ejcoumans
8faebb4c1c moved btGenericPoolAllocator to GIMPACT, updated jamfiles/buildsystem 2007-09-30 03:16:47 +00:00
ejcoumans
e1dad42e43 updated buildsystem 2007-09-30 02:28:26 +00:00
ejcoumans
78fe8b7249 initial upgrade to GIMPACT 0.3, thanks to Francisco Leon for the update. GIMPACT demo/build system will be fixed today. 2007-09-30 00:05:52 +00:00
ejcoumans
c98a678c9a Makefile to create SPU elf and PPU lib for libspe2 parallel Cell SPE support. Contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:44:33 +00:00
ejcoumans
29dd9681f4 Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:43:51 +00:00
ejcoumans
5ebab3e59b Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:37:25 +00:00
ejcoumans
dae8b658da Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:36:31 +00:00
ejcoumans
0ff4444118 Added libspe2 parallel Cell SPE support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:35:47 +00:00
ejcoumans
b2b2ea71c6 Added libspe2 support contribution by IBM Germany 'Extreme Blue' project:
Thanks to Benjamin Hoeferlin, Minh Cuong Tran,Martina Huellmann,Frederick Roth.
2007-09-26 23:33:56 +00:00
ejcoumans
811c105c24 align btQuadWord on 16byte boundary
slightly improved friction model
2007-09-25 06:58:53 +00:00
ejcoumans
12e2a5c57c BoxBoxCollisionAlgorithm needs to use dispatcher for memory allocation 2007-09-22 00:04:37 +00:00
ejcoumans
08d036afc7 multi-threading improvements: optionally use software caching (IBM/PS3), move some code from cpp to header to inline. 2007-09-20 22:42:56 +00:00
ejcoumans
0bf8124668 added quickstep improvements, to allow for constraints (point to point etc).
Thanks Francisco Leon/projectileman
2007-09-13 07:44:05 +00:00
ejcoumans
b054f375bc - Added serialization to btBvhTriangleMeshShape/btOptimizedBvh. See ConcaveDemo for example usage.
- added bt32BitAxisSweep3, which co-exists without recompilation, using template class. This broadphase is recommended for large worlds with many objects (> 16384), until btMultiSwap is finished.
- Fixed some recent issues in Bullet 2.57 related to compound (thanks Proctoid) and memory allocations
2007-09-10 01:14:42 +00:00
ejcoumans
87df3d0f32 Based on feedback from another professional game company, there are several improvements, including some API change...
Some dynamic memory allocations have been replace by pool allocation or stack allocations.
quantized aabb versus quantized aabb overlap check is made branch-free (helps a lot on consoles PS3/XBox 360)
Collision algorithms are now created through a new btDefaultCollisionConfiguration, to decouple dependency (this is the API change):
Example:
	btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
	m_dispatcher = new	btCollisionDispatcher(collisionConfiguration);
2007-09-08 05:40:01 +00:00
ejcoumans
fa2be67e8a added preferred direction, to improve penetration depth quality (better matching collision normal) for triangle meshes. 2007-08-22 01:09:48 +00:00
ejcoumans
dbdc2a812f converted files to UNIX EOL 2007-08-21 04:06:39 +00:00
ejcoumans
4171d02b99 patch to allow building of SPU version 2007-08-21 03:41:42 +00:00
ejcoumans
c499abbb4a forgot to add Make.* files 2007-08-20 20:28:16 +00:00
ejcoumans
fd67de47d3 fixed bug in GIMPACT, thanks Thomas, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1368 2007-08-18 15:11:53 +00:00
ejcoumans
d66ddebb3b accidently overwrite the most recent version of README by an older one. 2007-08-16 20:19:12 +00:00