From 0d49a809746bade39f844a13f74a2fc03fc1d21f Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Thu, 19 Nov 2020 11:09:40 +0100 Subject: Add a parameter to indicate if collider removal should wake-up its parent. --- src_testbed/testbed.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src_testbed/testbed.rs') diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index fddeabe..4b998c3 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -758,7 +758,7 @@ impl Testbed { for to_delete in &colliders[..num_to_delete] { self.physics .colliders - .remove(to_delete[0], &mut self.physics.bodies); + .remove(to_delete[0], &mut self.physics.bodies, true); } } WindowEvent::Key(Key::D, Action::Release, _) => { @@ -1576,11 +1576,13 @@ CCD: {:.2}ms } if self.state.flags.contains(TestbedStateFlags::DEBUG) { + let t = instant::now(); let bf = bincode::serialize(&self.physics.broad_phase).unwrap(); let nf = bincode::serialize(&self.physics.narrow_phase).unwrap(); let bs = bincode::serialize(&self.physics.bodies).unwrap(); let cs = bincode::serialize(&self.physics.colliders).unwrap(); let js = bincode::serialize(&self.physics.joints).unwrap(); + let serialization_time = instant::now() - t; let hash_bf = md5::compute(&bf); let hash_nf = md5::compute(&nf); let hash_bodies = md5::compute(&bs); @@ -1588,6 +1590,7 @@ CCD: {:.2}ms let hash_joints = md5::compute(&js); profile = format!( r#"{} +Serialization time: {:.2}ms Hashes at frame: {} |_ Broad phase [{:.1}KB]: {:?} |_ Narrow phase [{:.1}KB]: {:?} @@ -1595,6 +1598,7 @@ Hashes at frame: {} |_ Colliders [{:.1}KB]: {:?} |_ Joints [{:.1}KB]: {:?}"#, profile, + serialization_time, self.state.timestep_id, bf.len() as f32 / 1000.0, hash_bf, -- cgit From 5ce36065829cdc23334bbb6ca6c0d83f7de1ece8 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Thu, 19 Nov 2020 18:09:55 +0100 Subject: Add explicit wake_up parameter to method setting the position and velocity of a rigid-body. --- src_testbed/testbed.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src_testbed/testbed.rs') diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 4b998c3..1e0dd5e 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -414,7 +414,7 @@ impl Testbed { { if self.state.selected_backend == BOX2D_BACKEND { self.box2d = Some(Box2dWorld::from_rapier( - self.gravity, + self.physics.gravity, &self.physics.bodies, &self.physics.colliders, &self.physics.joints, @@ -647,7 +647,7 @@ impl Testbed { if self.state.selected_backend == BOX2D_BACKEND { self.box2d.as_mut().unwrap().step( &mut self.physics.pipeline.counters, - &self.integration_parameters, + &self.physics.integration_parameters, ); self.box2d.as_mut().unwrap().sync( &mut self.physics.bodies, -- cgit