Commit Graph

566 Commits

Author SHA1 Message Date
Lunkhound
1c3686ca51 MultiThreaded Demo:
- fixing various race conditions throughout (usage of static vars, etc)
 - addition of a few lightweight mutexes (which are compiled out by default)
 - slight code rearrangement in discreteDynamicsWorld to facilitate multithreading
 - PoolAllocator::allocate() can now be called when pool is full without
     crashing (null pointer returned)
 - PoolAllocator allocate and freeMemory, are OPTIONALLY threadsafe
     (default is un-threadsafe)
 - CollisionDispatcher no longer checks if the pool allocator is full
     before calling allocate(), instead it just calls allocate() and
     checks if the return is null -- this avoids a race condition
 - SequentialImpulseConstraintSolver OPTIONALLY uses different logic in
     getOrInitSolverBody() to avoid a race condition with kinematic bodies
 - addition of 2 classes which together allow simulation islands to be run
   in parallel:
    - btSimulationIslandManagerMt
    - btDiscreteDynamicsWorldMt
 - MultiThreadedDemo example in the example browser demonstrating use of
   OpenMP, Microsoft PPL, and Intel TBB
 - use multithreading for other demos
 - benchmark demo: add parallel raycasting
2016-10-30 12:47:27 -07:00
erwin coumans
ddff1bcdc0 remove some useless global constants, move them right into the constructor 2016-10-07 09:00:49 -07:00
Erwin Coumans
6563c9c821 add btVector3::safeNorm to avoid/workaround certain clang/g++ issue or returning -INF
when taking sqrtf(0.0000000000000000000000000000000000000108333558)
2016-09-25 23:13:23 -07:00
erwincoumans
c979f147e6 Update btQuaternion.h
add missing ; after btAssert
2016-09-25 15:12:19 -07:00
erwincoumans
278a89f7c3 Merge pull request #804 from erwincoumans/master
fix uninitialized variable in btMultiBody
2016-09-23 22:13:36 -07:00
erwincoumans
d3bf740c50 Merge pull request #446 from T4Larson/slerpfix
fix: btQuaternion.slerp() may result in NaN-quaternions
2016-09-23 22:03:01 -07:00
erwincoumans
fe6c8775da fix uninitialized variable in btMultiBody
use btAssert to detect 0 determinant in btMatrix3x3 inverse
Remove obsolete comment in PosixSharedMemory, the Windows shared memory implementation was done over a year ago
2016-09-23 21:59:38 -07:00
erwin coumans
32eccdff61 Create project file for BussIK inverse kinematics library (premake, cmake)
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07:00
erwin coumans
c5164e503f fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBodyDoubleData
causing serialization issue in  URDF/SDF loading in double-precision mode on Windows 32bit.
(it was fine on Mac/Linux 64bit)
bump serialization version to 2.85, as we change the file format
fix in name clash in makesdna.cpp -> intptr_t is already defined.
2016-08-26 10:00:29 -07:00
erwin coumans
62d5b7c5c0 add single step simulation, using 'o' key. use 'i' key to suspend simulation first
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwin coumans
25a1714754 disable CProfileManager, might reduce some multi-threading conflicts 2016-07-19 15:55:52 -07:00
Erwin Coumans
c54a61b97a More example code is memory-leak free now, in particular PhysicsServerExample.
/PhysicsServerCommandProcessor
also fixed some memory issue in InverseDynamicsExample (the base class is supposed to delete collision shape memory)
2016-07-16 21:29:31 -07:00
Erwin Coumans
e2bdd7dbb1 fix more memory leaks, ImportURDFExample is now leak-free
eliminate all run-time memory allocation (except for mouse-pick/ray-intersection) in ImportURDFExample
2016-07-16 17:40:44 -07:00
Erwin Coumans
2caa2b7ff4 removed more memory leaks and improve btAlignedAllocator memory-leak debugging 2016-07-16 14:58:11 -07:00
Erwin Coumans
612e46614a fix (unused) SSE operator btMatrix3x3 ==, thanks to yyzone for the report/fix.
fixes 552
2016-06-04 13:16:06 -07:00
erwin coumans
f469a2cb49 update to tinyrenderer synthetic camera 2016-05-31 22:55:13 -07:00
Erwin Coumans
098e0158ea fix compile issue(s) in BT_USE_DOUBLE_PRECISION mode 2016-05-26 18:21:57 -07:00
artoowang
cfcb8eda9b Fixed btAssert warning message on printf in MSVC. 2016-05-17 14:10:22 -07:00
erwincoumans
df3ddaca5e Merge pull request #585 from erwincoumans/master
btMultiBody joint friction/damping infrastructure
2016-03-17 16:29:40 -07:00
erwincoumans
fe92de3e50 add infrastructure float btMultiBodyLink m_jointDamping, m_jointFriction (actual damping/friction is in a separate commit)
add door.urdf for testing damping/friction
2016-03-17 14:54:46 -07:00
Michael Korn
e80bafdf66 fix for issue in getAngleShortestPath()
Testing squared norm for <0 does not make any sense. In Addition giving the range of the return values is a great help to understand the descriptions.
2016-03-04 22:01:29 +01:00
Andrew Meadows
c0c1691c25 fix whitespace formatting in cmake files 2015-12-07 14:08:04 -08:00
erwincoumans
6df6df3b26 Merge pull request #517 from erwincoumans/master
b3CreateBoxCommandSetColorRGBA: allow to specify color when creating …
2015-11-06 17:41:40 -08:00
erwincoumans
3b9b803683 b3CreateBoxCommandSetColorRGBA: allow to specify color when creating bodies through shared memory API
Parse and use colors from URDF file (single rgba color per link, not per visual)
Rename btMultiBody 'stepVelocities' to 'computeAccelerationsArticulatedBodyAlgorithmMultiDof'
btHashMap, add const Value* operator[]
remove a few more obsolete btMultiBody methods (on the non-multi-dof path)
fix spelling typo in fillConstraintJacobianMultiDof (fil -> fill)
Add mention to Jakub Stepien for his work on btMultiBody
2015-11-06 17:11:15 -08:00
erwincoumans
c902cd0180 Update btTransform.h
fix comment
2015-11-05 14:08:22 -08:00
Andrew Short
98bce6e484 Remove usage of deprecated register keyword
C++11 deprecated the register keyword, so don't use it if we're using C++11 or newer.
2015-10-23 15:59:38 +11:00
Jukka Jylänki
62d977f5cd Add missing <stdio.h> include in src/LinearMath/btMatrixX.h for printf() access. (missing in Emscripten/musl libc builds otherwise) 2015-10-08 18:19:10 +03:00
T4Larson
6c71f37da1 fix: btQuaternion.slerp() may result in NaN-quaternions 2015-08-05 21:06:13 +02:00
erwincoumans
b316f30040 improve usability of ExampleBrowser
store command-line arguments in bulletDemo.txt
save/load of configuration, save demo name instead of index
add setBackgroundColor as example (background_color_red) and
mouse move/wheel speed config (mouse_wheel_multiplier and mouse_move_multiplier)
(saved after changing the demo)
default btIDebugDraw colors can be changed
b3CommandLineArgs::GetCmdLineArgument returns bool, and b3CommandLineArgs::addArgs added
fix copy/paste
2015-08-04 18:24:30 -07:00
erwincoumans
9d7d5caa8b Merge pull request #404 from donggas90/master
Improve Compound Shape Construction.
2015-08-03 08:49:30 -07:00
erwincoumans
51ec862582 Merge pull request #421 from erwincoumans/master
fix shadowmap crash on some Intel GPUs, see https://github.com/bullet…
2015-07-12 14:17:56 -07:00
erwincoumans
6c9ce344ea fix shadowmap crash on some Intel GPUs, see https://github.com/bulletphysics/bullet3/issues/4
remove targetdir from all libraries in premake, so it is much easier to create a separate folder for all binary+lib
transmit the serialized btMultiBody data back from server to client, after the server loads a URDF file. This includes base+link+joint names
tweak the serialization routines, so it is easier to skip pointers and to serialize directly to a shared memory buffer
also tweak the serialization code to allow to process data without 'DNA' schema data (assuming file-DNA = memory DNA)
2015-07-10 22:20:06 -07:00
erwincoumans
ae3e392b69 Merge pull request #420 from erwincoumans/master
some work towards streaming Bullet data over shared memory for client…
2015-07-09 18:19:59 -07:00
erwincoumans
f6f76901fd First draft of btMultiBody serialization, including optional names for base, link and joints (see ImportURDFDemo/ImportURDFSetup.cpp how this is done)
Bump up version number to 2.84 because of new serialization data.
2015-07-09 17:36:00 -07:00
erwincoumans
285ac286fa some work towards streaming Bullet data over shared memory for client/server 2015-07-09 14:04:58 -07:00
erwincoumans
c293c3df8f Update btQuickprof.cpp 2015-07-08 23:22:41 -07:00
erwincoumans
4366070611 Update btQuickprof.cpp
deal with Windows XP users, see https://github.com/bulletphysics/bullet3/issues/289#issuecomment-119133169
2015-07-08 22:28:20 -07:00
donggas90
a3b41fdcb9 Simple Improve Array 2015-06-08 13:40:23 +09:00
Gabor Puhr
98e1334a64 Auto limitation of spring stiffness and damping in btGeneric6DofSpring2Constraint is now optional.
Fix: spring stiffness limitation used the mass incorrectly in btGeneric6DofSpring2Constraint.
2015-05-22 12:58:28 +02:00
Erwin Coumans (Google)
84f2d5b9a0 Merge remote-tracking branch 'bp/master' 2015-04-28 20:57:41 -07:00
Kenneth Bogert
a57e1632a6 Prevent SSE Alignment crash in VS2010 and up
See http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=8915
2015-04-21 00:31:41 -04:00
erwincoumans
794c8ec064 add BspDemo.bsp data file
add sphere2.urdf
move btSpatialAlgebra into LinearMath
remove some warnings, introduce BT_ZERO, BT_ONE, BT_HALF as defines for 0.f/0., 1.f/1., 0.5f/0.5 respectively
2015-04-16 10:17:35 -07:00
Erwin Coumans
9931dd9684 remove Cooper implicit (it was just for comparison, it is buggy)
add btMatrix3x3::solve33, thanks to Erin Catto, and added safety against division by zero
2015-03-25 19:33:02 -07:00
erwincoumans
5a91c9ea3c Merge pull request #317 from namar0x0309/master
Fix for 64bit builds btSqrt and USE_APPROXIMATION
2015-02-12 13:34:22 -08:00
erwincoumans
15d5659483 Merge pull request #313 from jackoalan/neon-setinterpolate3-fix
Fixed self-referencial bug in btVector3's setInterpolate3 (NEON)
2015-02-10 18:10:26 -08:00
Nassim Amar
e9c7f3a0d2 Fixed macro's to detect 64bit 2015-02-01 14:32:37 -08:00
Nassim Amar
cf705d6fa4 Fix for 64bit builds btSqrt
Fix issue with btSqrt with macro USE_APPROXIMATION turned on.
2015-02-01 05:41:07 -08:00
erwincoumans
76b80ca71b Merge pull request #309 from erwincoumans/master
minor fixes (GL2, preSwapFileNameOut), improved URDF/btMultiBody (work in progress), basic debug drawing for btMultiBody
2015-01-27 13:33:37 -08:00
erwincoumans
a159fbac69 Improved URDF support for btMultiBody and separate graphics/collision/inertial frames and shapes
Fix WinXP GetTickCount64 with a typedef
Expose debug drawing mode/flags in UI (hot keys A,D,L,W for now, buttons later)
GLInstancingRenderer: tweak near/far planes to allow closer approach of camera
btDiscreteDynamicsWorld: enable debug drawing for btGeneric6DofSpring2Constraint
btMultiBodyDynamicsWorld: enable basic debug drawing for btMultiBody
btMultibody: allow center-of-mass shift for prismatic and fixed constraint
2015-01-22 17:56:24 -08:00
Jack Andersen
991366a48f Fixed self-referencial bug in btVector3's setInterpolate3 2015-01-20 19:10:52 -10:00