Commit Graph

532 Commits

Author SHA1 Message Date
erwincoumans
83a34d8ae2 Merge pull request #1663 from vsaulue/fix-doxygen
Fix some Doxygen comments in btMatrix3x3.
2018-05-16 17:02:23 -07:00
erwincoumans
0e2d0fda1a Revert back to using the Jacobi method to diagonalize a symmetric matrix. 2018-05-03 06:03:52 -07:00
Vincent Saulue-Laborde
0a2f3057d7 Fix some Doxygen comments in btMatrix3x3. 2018-05-02 20:10:53 +02:00
Lunkhound
bdc3c2bafb task scheduler: add multiple job queues to improve performance when there are many threads 2018-03-17 22:59:29 -07:00
Lunkhound
04e0d57dc1 add premake option 'enable-multithreading' 2018-03-16 23:42:43 -07:00
Lunkhound
eec478709a parallel solver: small tweaks and fixes 2018-03-06 02:43:59 -08:00
Lunkhound
b8720f2161 parallel solver: various changes
- threading: adding btSequentialImpulseConstraintSolverMt
 - task scheduler: added parallelSum so that parallel solver can compute residuals
 - CommonRigidBodyMTBase: add slider for solver least squares residual and allow multithreading without needing OpenMP, TBB, or PPL
 - taskScheduler: don't wait for workers to sleep/signal at the end of each parallel block
 - parallel solver: convertContacts split into an allocContactConstraints and setupContactConstraints stage, the latter of which is done in parallel
 - parallel solver: rolling friction is now interleaved along with normal friction
 - parallel solver: batchified split impulse solving + some cleanup
 - parallel solver: sorting batches from largest to smallest
 - parallel solver: added parallel batch creation
 - parallel solver: added warmstartingWriteBackContacts func + other cleanup
 - task scheduler: truncate low bits to preserve determinism with parallelSum
 - parallel solver: reducing dynamic mem allocs and trying to parallelize more of the batch setup
 - parallel solver: parallelize updating constraint batch ids for merging
 - parallel solver: adding debug visualization
 - task scheduler: make TBB task scheduler parallelSum deterministic
 - parallel solver: split batch gen code into separate file; allow selection of batch gen method
 - task scheduler: add sleepWorkerThreadsHint() at end of simulation
 - parallel solver: added grain size per phase
 - task Scheduler: fix for strange threading issue; also no need for main thread to wait for workers to sleep
 - base constraint solver: break out joint setup into separate function for profiling/overriding
 - parallel solver: allow different batching method for contacts vs joints
 - base constraint solver: add convertJoint and convertBodies to make it possible to parallelize joint and body conversion
 - parallel solver: convert joints and bodies in parallel now
 - parallel solver: speed up batch creation with run-length encoding
 - parallel solver: batch gen: run-length expansion in parallel; collect constraint info in parallel
 - parallel solver: adding spatial grid batching method
 - parallel solver: enhancements to spatial grid batching
 - sequential solver: moving code for writing back into functions that derived classes can call
 - parallel solver: do write back of bodies and joints in parallel
 - parallel solver: removed all batching methods except for spatial grid (others were ineffective)
 - parallel solver: added 2D or 3D grid batching options; and a bit of cleanup
 - move btDefaultTaskScheduler into LinearMath project
2018-02-26 22:47:33 -08:00
Erwin Coumans
508550c5e9 fix premake build for linux, thanks to @consultit
See also issue #1538
2018-02-09 18:46:26 -08:00
Alexis Breust
c1b5024aea Removed warnings of unused variable in btThreads header 2018-01-25 16:37:30 +01:00
erwincoumans
c4b1b84687 Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
Erwin Coumans
e97b751781 further work on urdfEditor.py, fix some serialization issues 2018-01-08 12:25:56 -08:00
Erwin Coumans
f104765c47 added some template to restore (syncMultiBody, syncContactManifolds) for single float and double precision, in 'pybullet.restoreState' 2017-12-31 11:19:29 -08:00
Erwin Coumans
0326fa93a8 made some progress in saving and restoring the state during the simulation, with identical results.
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
erwincoumans
29aa9cb789 Bullet bump up to version 2.88
add preliminary support to import btMultiBody from a .bullet file (will help save/restore state)
fix some Windows char/widechar issues
2017-11-22 18:12:02 -08:00
kwasimensah
2f58cf0d00 Fix MACROS for when BT_THREADSAFE is defined 2017-11-12 00:48:59 -05:00
kwasimensah
8aefa7e8d0 Updating Macros
Don't take away ability to do profiling on MacOS
2017-11-03 11:59:12 -04:00
kwasimensah
e03383e612 Update support for buggy android NDK
Expand logic for when __thread is supported to work around https://github.com/android-ndk/ndk/issues/8
2017-11-02 15:35:59 -04:00
Giuseppe Barbieri
b81252fbc4 Update btVector3.h 2017-10-08 10:49:20 +02:00
Giuseppe Barbieri
8755f51bec Typo 2017-10-07 16:58:38 +02:00
Luke
1360641ad9 Fix a shadow warning by renaming a parameter in btInfMaskConverter 2017-09-29 15:44:14 -05:00
Erwin Coumans
06b695e051 remove some warning ,see also Pull Request #302
bump up pybullet version
2017-09-14 08:08:24 -07:00
erwincoumans
6f51d81cbb Revert "Export targets in CMake and add include directories to target properties" 2017-09-10 21:20:54 -07:00
Markus Rickert
fbffb246fe Export targets in CMake and add include directories to target properties 2017-09-10 23:43:50 +02:00
Sam Hocevar
d8b5ebd818 Make btHashString const-correct by changing a target pointer type. 2017-09-01 20:02:58 +02:00
erwincoumans
457312f94f fix leak in loadSDF in case of visuals with duplicate/identical names that have a material.
fix GUI performance issue on Mac OSX
fix issue introduced in previous commit (in btConvexHullComputer.cpp)
2017-08-11 17:14:52 -07:00
Erwin Coumans
c67a70cb09 compile fixes 2017-07-29 13:40:03 +02:00
Erwin Coumans
dd3d55610b fixes in pybullet.loadTexture, changeVisualShape replacing texture.
(also works for OpenGL3 renderer now)
2017-06-30 13:35:07 -07:00
erwincoumans
7b56db9f97 fix compile issue/warning 2017-06-06 06:59:41 -07:00
Lunkhound
0fc3ce69e9 fix thread index going out of range bug 2017-06-03 18:03:59 -07:00
Lunkhound
34e2c1b784 add profiling info 2017-05-29 23:53:35 -07:00
Lunkhound
d77c3d5b68 fix compile errors in non-threadsafe build 2017-05-23 02:34:29 -07:00
Lunkhound
dfe184e8d3 Bullet 2 threading refactor: moved parallel-for calls into core libs 2017-05-23 01:01:20 -07:00
Erwin Coumans
433d11d8cf Add a btIDEbugDraw::clearLines, helps multi-threaded rendering of lines (while updating those lines in a dynamics world in a different thread)
Expose COV_ENABLE_VR_RENDER_CONTROLLERS, to enable/disable rendering of controllers (and some frames) in VR
Expose COV_ENABLE_RENDERING to enable/disable rendering.
Fix some multi-threading issues (potential crashes), related to debug drawing/rendering in one thread, while changing the dynamics world/removing/resetSimulation in a different thread.
2017-05-16 12:19:03 -07:00
Erwin Coumans
424a29474f fix for division by zero, in case angular velocity goes close to zero
(but not zero)
2017-05-11 17:45:01 -07:00
Erwin Coumans
0d3940b8bd fix signed-integer-overflow issue:
Hash functions rely on 2's complement behaviour. Use unsigned integers to get that.
2017-05-09 16:36:11 -07:00
Erwin Coumans
af6bf8ddc8 plumb URDF/SDF audio_source into PhysicsServerCommandProcessor, allow to play sounds on collision !
See also https://youtu.be/eppOjTfx5Jg for a first test, and this modified URDF how to add sounds:
https://github.com/bulletphysics/bullet3/blob/master/data/plane_with_collision_audio.urdf
Add the --audio flag to enable sound in pybullet/Bullet-C-API
2017-05-01 11:14:09 -07:00
nicolaichuk
2c6c64ca8a Merge remote-tracking branch 'remotes/bulletphysics/master' 2017-03-29 18:22:53 +03:00
Erwin Coumans
7503418c72 Split Bullet/src/LinearMath/btSerializer.cpp into btSerializer64.cpp to make it easier to rebuild serialization structure.
Add several MSVC optimization flags to cmake.
Bump up VERSION because serialization format changed
Expose btScalar& jointMaxForce, btScalar& jointMaxVelocity to 'getJointInfo2' API, add backwards compatibility to examples\Importers\ImportURDFDemo\URDFImporterInterface::getJointInfo.

pybullet: expose 4 more fields to getJointInfo: jointLowerLimit/jointUpperLimit/jointMaxForce/jointMaxVelocity
fix performance issue in CMD_ACTUAL_STATE_UPDATE_COMPLETED
2017-03-26 13:06:46 -07:00
Erwin Coumans
ee0e3ba271 Remove RobotLogging from CMakeLists.txt
Avoid crashing if threadIndex exceeds BT_QUICKPROF_MAX_THREAD_COUNT (64)
2017-03-23 18:00:00 -07:00
nicolaichuk
71e411c2ca fix warning "This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library" 2017-03-23 14:38:45 +03:00
nicolaichuk
5527e36139 Merge remote-tracking branch 'remotes/bulletphysics/master'
# Conflicts:
#	src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.h
2017-03-23 14:28:49 +03:00
nicolaichuk
8e1b146568 Merge branch 'Branch_2.86.1' 2017-03-23 14:24:32 +03:00
nicolaichuk
db065b8af8 fix redefinition 2017-03-23 14:15:51 +03:00
erwincoumans
ef9afd39f7 Merge pull request #996 from iSLC/master
Adjust thread-local local static variable syntax for MinGW/GCC.
2017-03-13 21:52:06 -07:00
erwincoumans
41d7ee4f89 Merge pull request #1009 from cprogrammer1994/fix-compile-warnings
Fix some compiler warnings
2017-03-13 21:49:28 -07:00
Erwin Coumans
bdaadf57e0 apply _clang-format to Bullet/src/LinearMath/btScalar.h, disable around preprocessor defines
(issue with clang-format lacking preprocessor indentation support, see
https://bugs.llvm.org//show_bug.cgi?id=17362
and possibly apply this patch:
https://github.com/mkurdej/clang/tree/indent-pp-directives
)
2017-03-13 11:17:42 -07:00
Szabolcs Dombi
839086ac84 fix type conversion warnings 2017-03-13 18:30:44 +01:00
Sandu Liviu Catalin
bbb7e3c5f5 Adjust thread-local local static variable syntax for MinGW/GCC. 2017-03-08 00:46:39 +02:00
erwincoumans
18fb738f80 Merge pull request #992 from taylor001/dev
Fix warning when compiling with -Dundef on MinGW
2017-03-07 07:37:39 -08:00
Daniele Bartolini
af284122a3 Fix warning when compiling with -Dundef on MinGW 2017-03-06 19:27:21 +01:00