Commit Graph

1762 Commits

Author SHA1 Message Date
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
30b1887f40 added configuration files for collision detection.
this allows to use different collision algorithms by default, and avoid linkage issues.
2007-09-08 03:10:30 +00:00
ejcoumans
1763c8f806 make traversal mode public, so user can change it 2007-09-06 06:49:45 +00:00
ejcoumans
0f7193c0f8 fixed MSVC 6 build, thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
fixed double precision build issues, thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
2007-08-31 23:32:51 +00:00
ejcoumans
43d367d232 Fixed issue with transposeTimes. Luckily this method wasn't used in the SDK, except for some optional parts.
Thanks Jay Lee for pointing this out!
2007-08-24 18:30:49 +00:00
ejcoumans
375e428910 updated IBM Cell SDK makefiles 2007-08-18 16:45:06 +00:00
ejcoumans
cdbc95c105 updated IBM Cell SDK makefiles, to use CELL_TOP 2007-08-18 16:36:21 +00:00
ejcoumans
c29b961cde updated work-in-progress PS3 Linux makefiles, clarified license for optional external libraries 2007-08-18 16:15:09 +00:00
ejcoumans
635632acf9 initialize m_islandTag1/m_companionId, thanks Marten 2007-08-13 20:53:02 +00:00
ejcoumans
e7304e6cec added Makefiles for IBM Cell SDK 2.1, thanks to Bruce D'Amora, IBM Watson 2007-08-13 04:18:25 +00:00
ejcoumans
ec22825e65 added parallel solver (work in progress) and made modifications to demo/constraints to allow for getting the type without using virtual functions (needed on CELL SPU processors) 2007-08-12 17:27:33 +00:00
ejcoumans
e597eef059 updated version, cmake build, changelog 2007-08-03 05:41:23 +00:00
ejcoumans
7c0abad041 added aabb overlap check for multi SAP broadphase 2007-08-03 01:48:34 +00:00
ejcoumans
b6cd61a5e1 preparation for multi SAP broadphase 2007-08-03 01:39:36 +00:00
ejcoumans
1f7646f72a Refactoring to enable multi SAP broadphase.
This was already planned, and Pierre Terdiman recent thread motivated me to decouple the paircache from the sweep and prune.
http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
2007-08-02 23:48:46 +00:00
ejcoumans
5279f9e129 BulletMultiThreaded (SPU/multi-core): added compound shape support and concave-convex (swapped case). Thanks to Marten Svanfeldt 2007-08-02 20:16:58 +00:00
ejcoumans
8a1d556e93 moved Bullet-C-Api.h to src, rather then include. 2007-08-02 06:41:24 +00:00
ejcoumans
574aad98bc Updated BulletDino.c demo, to test C-API. 2007-08-02 06:09:35 +00:00
ejcoumans
83395ccc9f updated CMake build files 2007-07-28 21:38:14 +00:00
ejcoumans
871521dd6a updated CMake build for btUniformScalingShape/btConvexInternalShape 2007-07-28 21:31:32 +00:00
ejcoumans
38b7f474c3 Added better support for btUniformScalingShape, by moving some data that is not shared from btConvexShape to btConvexInternalShape. This reduces the sizeof btUniformScalingShape to 16 bytes (from 64).
This is good when having lots of re-used shapes with different sizes.

Convex shapes will need to derive from btConvexInternalShape (which is a subclass of btConvexShape). We could have renamed btConvexShape to 'btConvexShapeInterface' (can still do that later)
2007-07-28 21:10:21 +00:00
ejcoumans
177b6f5ce2 Added btUniformScalingShape (including support for debug rendering etc)
This allows to re-use a convex shape, while each instance can re-scale it (with a uniform scalar factor)
2007-07-28 19:20:45 +00:00
ejcoumans
0df4cedc3e added 'getConstraintSolver' and ability to 'reset' (set randseeds back to zero, and clear internal caches) 2007-07-27 23:54:22 +00:00
ejcoumans
a1fabc4b91 ray hitnormal is already in worldspace for convex objects, but not for trianglemeshes (ray is transformed in local space) 2007-07-27 23:52:33 +00:00
ejcoumans
91caea166b axis is column(2) 2007-07-27 22:38:05 +00:00
ejcoumans
fddd6c5721 remove accidental 'return' 2007-07-26 05:22:48 +00:00
ejcoumans
49aa535be9 updated to make projects compiler under double precision. GIMPACT compiles/links, but doesn't work properly. 2007-07-26 03:44:21 +00:00
ejcoumans
bf967a458a applied patches from Marten (Starbreeze) for per-rigidbody sleeping thresholds, access to constraint references.
Also added assert, to make sure users don't delete rigidbodies while constraints point to them.
2007-07-26 00:16:06 +00:00
ejcoumans
685138d033 include paths should not be relative starting with "../
It leads to problems with certain compilers, when Bullet/src is located in a long pathname.
Keep include path starting with "LinearMath/, "BulletCollision/, or "BulletDynamics/
2007-07-14 05:08:57 +00:00
ejcoumans
7eea7092de Applied FSelUsage.patch, thanks a lot Marten Svanfeldt, Starbreeze Studios 2007-07-12 05:28:10 +00:00
ejcoumans
7cd651c266 pass collision shapes as const. fixed some issues with continuous convex cast (resulting hitnormal was not initialized properly, results not proper) 2007-07-11 02:16:39 +00:00
ejcoumans
2508cef2cf removed prefix "btHingeConstraint::" in headerfile. Doesn't compile under all platforms. Thanks to Blender community for spotting this. 2007-07-06 20:30:55 +00:00
ejcoumans
cb101274a1 fixed issue with kinematic objects 2007-07-06 04:32:01 +00:00
ejcoumans
5c80ff1f7d improved performance by adding constructors to btTransform/btMatrix3x3 to avoid conversions, compoundshape returns const references (instead of duplicate objects)
Thanks Marten Svanfeldt, Starbreeze Studios
2007-07-05 23:48:05 +00:00
ejcoumans
e4363b6e2b added ConstraintSolver/btConeTwistConstraint.cpp to allow for ragdolls
improved hinge constraint: adds limits
added btAtan2Fast
quaternion helper functions
All thanks to Starbreeze Studios / Marcus Hennix, Marten Svanfeldt
2007-07-05 23:17:13 +00:00
ejcoumans
7c5164baaf made data protected so derived classes can access it 2007-07-03 23:22:17 +00:00
ejcoumans
cdc8485db9 updated version, added 'singleObjectQuery' preliminary collision query (convex cast etc)
added filtering for raycast, thanks Jacky_J
const propagated through a few files
added btHeightfieldTerrainShape.cpp to cmake buildsystem
2007-07-03 05:10:20 +00:00
ejcoumans
485677513b minor platform dependent fixes to allow compilation under Xenon 2007-06-29 22:30:05 +00:00
ejcoumans
5f8873c339 support diamondsubdivision (thanks Jay for contribution)
support user-defined broadphase collision filtering (thanks Marten)
make sure btSimpeDynamicsWorld doesn't use cache friendly optimization in the solver (added an assert, and updated BasicDemo)
2007-06-29 22:13:15 +00:00
ejcoumans
e33f5390dd added patch from Marten Svanfeld to pass collision filter group/mask in addRigidbody. 2007-06-29 19:37:30 +00:00
ejcoumans
114bfad68f made some improvements based on feedback.
- made getHeightFieldValue virtual (allows custom heightfield formats)
- don't use shorts, just full integers (no reason to limit the terrain size to 65536)
2007-06-28 20:40:54 +00:00
ejcoumans
e34083551c make sure 'addConstraint' has the optional argument too 2007-06-28 19:20:17 +00:00
ejcoumans
ced94d63bf Thanks to Mårten Svanfeldt for the contribution:
- optionally disable collisions between bodies that are linked with constraints
- improved debug rendering with support for compounds, spheres, capsules
2007-06-28 19:14:30 +00:00
ejcoumans
a0c5401033 bugfix, wrongly assigned value to a local variable (copy/paste bug).
Thanks binofet, see http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=366
2007-06-28 00:05:14 +00:00
ejcoumans
cad28a8b35 allow for float data, and prepare for 'quad edge flip', either re-use the first triangle vertex, or second (re-use index 00 or 01) 2007-06-27 19:56:18 +00:00
ejcoumans
fa2ff30db4 replace __PPU__ by __CELLOS_LV2__, to avoid conflict with IBM Cell SDK (ppu-g++) 2007-06-27 06:55:41 +00:00
ejcoumans
3ca6d7385e basic support for height fields. They are producing temporary triangles, similar to the plane shape. 2007-06-27 03:19:34 +00:00
ejcoumans
bba61c834c applied some reported bugfixes, angular limit issue, limit scaled from -2.0 -> -1.0 2007-06-23 00:54:08 +00:00
ejcoumans
ca24744b9d removed obsolete variables/code 2007-06-19 23:57:25 +00:00
ejcoumans
c095927afb don't check twice, thanks Marten Svanfeldt
>>2. reserve(int) method check capacity() < _Count twice.
2007-06-19 23:45:10 +00:00