1) allow to render deformables in 'getCameraImage', for TinyRenderer (tested OK) and EGL (untested)
2) allow to have textures for deformables. See deformable_ball.py, deformable_anchor.py and deformable_torus.py for examples
3) deformables: allow to request simulation mesh data (even if there is a render mesh) See deformable_anchor.py for an example usage
data = p.getMeshData(clothId, -1, flags=p.MESH_DATA_SIMULATION_MESH)
4) fix deletion of deformables, thanks to Fychuyan, https://github.com/bulletphysics/bullet3/pull/3048
5) allow to enable and disable double-sided rendering, p.changeVisualShape(objectUid, linkIndex, flags=p.VISUAL_SHAPE_DOUBLE_SIDED)
6) fix GripperGraspExample, model not found
7) Fix deformable anchor not attaching to multibody with object unique id of 0
8) Fix issue with assignment of unique ids in TinyRenderer/EGL renderer (always use broadphase uid)
9) Avoid crash/issue of simulation with pinned vertices (mass 0) in btDeformableBackwardEulerObjective::applyExplicitForce
10) Store uv/normal in btSoftBody::RenderNode to allow textured meshes
11) (uncomment in btSoftBodyHelpers.cpp): dump vertices and indices in obj wavefront format, when loading a VTK file, for quicker creation of a (textured) surface mesh
12) allow interpolateRenderMesh also for old position-based soft bodies (not only the shiny new FEM deformables)
13) fix a few premake targets
14) update build_visual_studio_vr_pybullet_double_cmake.bat so it suits c:\python37 and installs locally
for local install of Bullet, see also this example https://github.com/erwincoumans/hello_bullet_cmake
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
- 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
fixed some more warnings
added alignment macros to some classes
btPersistentManifold from 128 to 16 bytes aligned
prepare command to select collision filter mode (SIM_PARAM_UPDATE_COLLISION_FILTER_MODE)
add UDP network connection for physics client <-> server.
also set spinning friction in rolling friction demo (otherwise objects may keep on spinning forever)
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687)