448c41a3e4
Use ThreadWorkPool to process physics step tasks in multiple threads. Collisions are all processed in parallel and solving impulses is processed in parallel for rigid body islands. Additional changes: - Proper islands for soft bodies linked to active bodies - All moving areas are on separate islands (can be parallelized) - Fix inconsistencies with body islands (Kinematic bodies could link bodies together or not depending on the processing order) - Completely prevent static bodies to be active (it could cause islands to be wrongly created and cause dangerous multi-threading operations as well as inconsistencies in created islands) - Apply impulses only on dynamic bodies to avoid unsafe multi-threaded operations (static bodies can be on multiple islands) - Removed inverted iterations when populating body islands, it's now faster in regular order (maybe after fixing inconsistencies) |
||
---|---|---|
.. | ||
cone_twist_joint_3d_sw.cpp | ||
cone_twist_joint_3d_sw.h | ||
generic_6dof_joint_3d_sw.cpp | ||
generic_6dof_joint_3d_sw.h | ||
hinge_joint_3d_sw.cpp | ||
hinge_joint_3d_sw.h | ||
jacobian_entry_3d_sw.h | ||
pin_joint_3d_sw.cpp | ||
pin_joint_3d_sw.h | ||
SCsub | ||
slider_joint_3d_sw.cpp | ||
slider_joint_3d_sw.h |