feat: ui to set the number of simulation steps per frame

This commit is contained in:
Sébastien Crozet
2024-05-19 15:52:38 +02:00
committed by Sébastien Crozet
parent 15731373eb
commit 174778067d

View File

@@ -172,7 +172,7 @@ pub fn update_ui(
); );
let mut substep_params = *integration_parameters; let mut substep_params = *integration_parameters;
substep_params.dt /= substep_params.num_solver_iterations.get() as f32; substep_params.dt /= substep_params.num_solver_iterations.get() as Real;
let curr_erp = substep_params.erp(); let curr_erp = substep_params.erp();
let curr_cfm_factor = substep_params.cfm_factor(); let curr_cfm_factor = substep_params.cfm_factor();
ui.add( ui.add(
@@ -220,6 +220,8 @@ pub fn update_ui(
Slider::new(&mut integration_parameters.min_island_size, 1..=10_000) Slider::new(&mut integration_parameters.min_island_size, 1..=10_000)
.text("min island size"), .text("min island size"),
); );
ui.add(Slider::new(&mut state.nsteps, 1..=100).text("sims. per frame"));
let mut frequency = integration_parameters.inv_dt().round() as u32; let mut frequency = integration_parameters.inv_dt().round() as u32;
ui.add(Slider::new(&mut frequency, 0..=240).text("frequency (Hz)")); ui.add(Slider::new(&mut frequency, 0..=240).text("frequency (Hz)"));
integration_parameters.set_inv_dt(frequency as Real); integration_parameters.set_inv_dt(frequency as Real);