erwin.coumans
6f28170422
Removed obsolete btPoint3: use btVector3 instead
2008-10-27 19:56:48 +00:00
erwin.coumans
e6202f58ad
1)Added SCE Physics Effects boxBoxDistance
...
BulletMultiThreaded/NarrowPhaseCollision makes use of this boxBoxDistance.
Cache some values in src/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.cpp, to avoid DMA transfers
2) Added btConvexSeparatingDistanceUtil: this allows caching of separating distance/vector as early-out to avoid convex-convex collision detection.
btConvexSeparatingDistanceUtil is used in src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp and can be controlled by btDispatcherInfo.m_useConvexConservativeDistanceUtil/m_convexConservativeDistanceThreshold
3) Use BulletMultiThreaded/vectormath/scalar/cpp/vectormath/scalar/cpp/vectormath_aos.h as fallback for non-PlayStation 3 Cell SPU/PPU platforms (used by boxBoxDistance).
Note there are other implementations in Extras/vectormath folder, that are potentially faster for IBM Cell SDK 3.0 SPU (libspe2)
2008-10-20 20:12:39 +00:00
erwin.coumans
4cbb3f2e7b
Added btGhostObject and btPairCachingGhostObject functionality.
...
It is a fast way to keep track of overlapping objects in an area, and doing rayTest and convexSweepTest for overlapping objects, instead of btCollisionWorld::rayTest/convexSweepTest.
Updated KinematicCharacterController to use btPairCachingGhostObject.
2008-10-18 01:33:23 +00:00
erwin.coumans
e627f38a28
Removed ray-AABB slopes code again, we are not using it and it is archived in Subversion repo now.
2008-10-16 20:18:23 +00:00
erwin.coumans
675c45f42d
some rayTest improvements in btDbvt::rayTestInternal, it avoids/reduces memory allocations during stack allocation (by sharing a persistent m_stack)
...
and rayTestInternal re-uses precomputed invRayDirection/signs.
also did some performance comparison with different ray-AABB test, from
http://jgt.akpeters.com/papers/EisemannEtAl07/
In short: it is faster, but it is not clear how to cull ray segments using ray slopes: when rays starts inside the AABB, we get a negative t value, but negatives also get false t-values...
2008-10-16 20:00:47 +00:00
erwin.coumans
60ce828419
Autoformat selection for soft body, btDbvt related classes (no code change, just layout using Visual Studio)
2008-10-15 18:39:27 +00:00
erwin.coumans
cac172d422
Use consistent rayFrom/rayTo API for rayTest for btDbvt and btSoftBody, instead of rayCast/collideRAY(origin,direction). This means RayFromToCaster has a fraction [0..1] instead of distance [0..INF]
...
Renamed collideRay -> rayTest to reflect change to (rayFrom,rayTo) interface.
Re-use btRayAabb2 function from src/LinearMath/btAabbUtil2.h in btDbvt instead of duplicated implementation.
2008-10-15 18:30:35 +00:00
erwin.coumans
e6c850f13b
Fix/improve raycast performance for btBvhTriangleMeshShape (btQuantizedBvh, btOptimizedBvh)
...
Add raycast acceleration for btAxisSweep3, using btDbvtBroadphase, providing large speedup. Can be disabled in constructor to safe memory.
2008-10-14 20:24:28 +00:00
erwin.coumans
fffca75e9f
Make raycast benchmark default, to show improved raycasting performance.
...
Add rayTest to btBroadphaseInterface, and implement efficient version for btDbvtBroadphase to accelerate raycasting.
btAxisSweep3, btSimpleBroadphase and btMultiSapBroadphase implement brute-force method (as before). For now, it is recommended to use btDbvtBroadphase for fastest world raycast.
2008-10-14 06:23:45 +00:00
erwin.coumans
9ad17dda22
Add aabbMin/aabbMax to broadphase proxy, and improve rayTest performance.
...
Todo: use broadphase acceleration structure (btDbvtBroadphase etc) for ray test
2008-10-10 17:32:52 +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
d2a282dc07
fixed issue with clamping/quantization in btAxisSweep3,
...
Thanks to ole.k for report and fix: http://code.google.com/p/bullet/issues/detail?id=87
2008-09-30 20:58:03 +00:00
john.mccutchan
2b71784c86
Make getShapeType() a non virtual function.
...
Add localGetSupportVertexNonVirtual, localGetSupportVertexWithoutMarginNonVirtual, getAabbNonVirtual and getMarginNonVirtual methods to convex shape classes
2008-09-29 22:47:05 +00:00
john.mccutchan
41b6eaa87f
Change to make serializing btOptimizedBvh/btQuantizedBvh properly deterministic. Contributed by reltham.
2008-09-29 21:17:37 +00:00
erwin.coumans
752eb583d0
some minor work on soft body, to make it easier to integrate into apps.
2008-09-24 02:41:50 +00:00
id0x1234
7a72d76ef2
btDbvtBroadphase, re-enable deferred collide.
2008-09-21 02:23:30 +00:00
id0x1234
323df8f85b
btDbvtBroadphase, fixed missed pairs when m_deferred collide was set to false.
2008-09-21 02:21:22 +00:00
erwin.coumans
8ae3f92859
encountered some issue with the btDbvtBroadphase, switch of a deferred collision feature.
2008-09-21 01:15:05 +00:00
rponom
486b172f58
Bug in constructor btHingeConstraint(body, pivot, axis) fixed. Build under MSVC 7.1 fixed
2008-09-19 21:10:01 +00:00
erwin.coumans
c9e5f2df05
fix 64-bit issue, can't cast void* to int.
2008-09-16 06:17:33 +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
3018eb9ebb
btDbvtBroadphase is broken, revert temporarily to a previous working version.
2008-09-13 06:25:14 +00:00
id0x1234
a6f47f17d8
Fixed alignment issue in btDbvt::CollideTV
2008-09-12 02:39:33 +00:00
id0x1234
670d7d94fc
Fixed SIMD compilation issues under msvc 7
2008-09-12 02:31:43 +00:00
erwin.coumans
bc8ff765b4
SSE gives compile errors on MSVC 7.1
2008-09-11 18:59:35 +00:00
erwin.coumans
732745d06c
fix a compiling issue
2008-09-11 18:22:06 +00:00
erwin.coumans
96c7465265
stack variables 'aabb' needs to be 16-byte aligned, when used for SIMD
2008-09-11 16:45:21 +00:00
id0x1234
fe0e2cd266
Improved DbvtBroadphase performance for sleeping world (when no bodies are moving).
...
Improved DbvtBroadphase velocity prediction.
2008-09-11 15:20:55 +00:00
id0x1234
afcfcb0a5d
DbvtBroadphase, fixed slow initialization issue.
2008-09-11 11:41:10 +00:00
id0x1234
c09a664808
Improved speed for 'slow' moving bodies.
2008-09-11 11:26:00 +00:00
id0x1234
8c6788ad6a
Improved Dbvt speed slightly.
2008-09-11 11:23:55 +00:00
erwin.coumans
8b3270f22f
Added 2 optimizations for the SAP broadphase: check AABB before remove, and a faster 2D overlap test.
...
Thanks to Pierre Terdiman/OPCODE Array SAP. Performance goes down from 4.6 to 2.9ms for the 8192 Extras/CDTestFramework benchmark.
2008-09-11 07:34:18 +00:00
id0x1234
bb50a2038f
(re)Enable SSE by default (using intrinsics) should compile fine under all Intel platforms.
2008-09-07 09:10:43 +00:00
erwin.coumans
103b98de73
disable SSE by default on btDbvt, it breaks build on Windows 64 bit and Win32 Intel compiler.
2008-09-06 16:58:18 +00:00
erwin.coumans
862ea08d3b
use new/delete[] array, overriden by BT_ALIGNED_ALLOCATOR macro.
...
Thanks to Russell Bartley for the feedback.
2008-09-05 05:58:37 +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
7234a61910
fix btSimpleBroadphase, it shouldn't store the allocated handles, they are simply in m_pHandles.
...
Thanks to Ole K. for reporting the issue:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2560
2008-09-04 19:31:37 +00:00
erwin.coumans
d2760b18aa
fix placement new[], see discussion here:
...
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1787&p=10252#p10252
2008-09-04 18:54:14 +00:00
erwin.coumans
dcefff0e0e
stack variable 'bounds' needs to be 16-byte aligned for SSE
2008-08-27 23:37:33 +00:00
erwin.coumans
42ad559b2d
Add some Doxygen comments for broadphase and linearmath classes.
2008-08-27 02:24:11 +00:00
erwin.coumans
db2514e930
provide serialization for btOptimizedBvh, using btQuantizedBvh.
2008-08-27 01:15:34 +00:00
erwin.coumans
79b6f7a772
Removed (circular) dependency between broadphase and collision shapes: moved parts CollisionShapes/btOptimizedBvh into BroadphaseCollision/btQuantizedBvh
2008-08-26 23:40:51 +00:00
erwin.coumans
8eafab367f
syntax error fix, removed comma, see http://code.google.com/p/bullet/issues/detail?id=76&can=1
...
Fix btOptimizedBvh, thanks to reltham, http://code.google.com/p/bullet/issues/detail?id=72&can=1
2008-08-19 15:57:01 +00:00
id0x1234
79a1e5b8f4
- General performances improvement (25%) on insert/update/collideTT.
...
- ~30% additional performance improvement for win32 using SSE implementation for critical methods.
2008-08-13 04:46:01 +00:00
john.mccutchan
551f0fa1ec
Keep track of raw pointer returned from btAlignedAlloc when using placement new on an array.
2008-08-07 16:02:59 +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
a9a67d62c3
Fixed memory leak in btDbvtBroadphase
...
http://code.google.com/p/bullet/issues/detail?id=66
2008-07-22 15:07:04 +00:00
erwin.coumans
884a494412
make the source code compile with older compilers again (Visual Studio 2006 in particular)
...
renamed btDbvt::Volume to btDbvtVolume and btDbvt::Node to btDbvtNode to distinguish from btSoftBody::Node
2008-07-15 23:27:18 +00:00
john.mccutchan
31dfbf55e1
Compile fixes
...
Added getOwnsBvh to btBvhTriangleMeshShape
2008-07-10 23:22:29 +00:00
erwin.coumans
1c0fa00bc7
+ provide access to 'root' collision shape, in case the original collision shape is temporarily replaced by a child collision shape.
...
+ added MultiMaterialDemo showing how to use the new btTriangleIndexVertexMaterialArray.
Thanks to Alex Silverman for this contribution!
2008-07-10 22:19:30 +00:00