579 introduced a new non-linear velocity-based constraints solver. This PR reworks the way solver iterations are specified so that some combination of them lets us recover the old solver’s behavior. This is mostly for comparison purpose or for case where the small performance hit of the new solver isn’t acceptable to the user.
IntegrationParameters::num_friction_iteration_per_solver_iteration is replaced by IntegrationParameters::num_additional_friction_iteration. This specifies how many extra friction iteration we want to run during the final solver iteration.
IntegrationParameters::num_internal_pgs_iterations indicates how many PGS iteration needs to be run within each solver iteration. Setting this value to 4 and IntegrationParameters::num_solver_iterations to 1 is equivalent to Rapier’s old solver.
For convenience, the following methods were added:
IntegrationParameters::switch_to_standard_pgs_solver to switch to the previous solver.
IntegrationParameters::switch_to_small_steps_pgs_solver to switch by to the new solver.
579 introduced a new non-linear velocity-based constraints solver. This PR reworks the way solver iterations are specified so that some combination of them lets us recover the old solver’s behavior. This is mostly for comparison purpose or for case where the small performance hit of the new solver isn’t acceptable to the user.
IntegrationParameters::num_friction_iteration_per_solver_iteration
is replaced byIntegrationParameters::num_additional_friction_iteration
. This specifies how many extra friction iteration we want to run during the final solver iteration.IntegrationParameters::num_internal_pgs_iterations
indicates how many PGS iteration needs to be run within each solver iteration. Setting this value to4
andIntegrationParameters::num_solver_iterations
to 1 is equivalent to Rapier’s old solver.For convenience, the following methods were added:
IntegrationParameters::switch_to_standard_pgs_solver
to switch to the previous solver.IntegrationParameters::switch_to_small_steps_pgs_solver
to switch by to the new solver.The new solver is remains the default.