aboutsummaryrefslogtreecommitdiff
path: root/src_testbed
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-03-29 17:21:49 +0200
committerCrozet Sébastien <developer@crozet.re>2021-03-29 17:21:49 +0200
commita733f97028f5cd532212572f9561ab64e09f002b (patch)
tree7b776c21660f1069ad472dd17e7e6fa9083cbd8f /src_testbed
parent8173e7ada2e3f5c99de53b532adc085a26c1cefd (diff)
downloadrapier-a733f97028f5cd532212572f9561ab64e09f002b.tar.gz
rapier-a733f97028f5cd532212572f9561ab64e09f002b.tar.bz2
rapier-a733f97028f5cd532212572f9561ab64e09f002b.zip
Implement the ability to run multiple CCD substeps.
Diffstat (limited to 'src_testbed')
-rw-r--r--src_testbed/engine.rs6
-rw-r--r--src_testbed/harness/mod.rs4
-rw-r--r--src_testbed/physx_backend.rs1
3 files changed, 3 insertions, 8 deletions
diff --git a/src_testbed/engine.rs b/src_testbed/engine.rs
index bcdbbca..29e57db 100644
--- a/src_testbed/engine.rs
+++ b/src_testbed/engine.rs
@@ -60,7 +60,6 @@ pub struct GraphicsManager {
b2wireframe: HashMap<RigidBodyHandle, bool>,
ground_color: Point3<f32>,
camera: Camera,
- ground_handle: Option<RigidBodyHandle>,
}
impl GraphicsManager {
@@ -87,14 +86,9 @@ impl GraphicsManager {
c2color: HashMap::new(),
ground_color: Point3::new(0.5, 0.5, 0.5),
b2wireframe: HashMap::new(),
- ground_handle: None,
}
}
- pub fn set_ground_handle(&mut self, handle: Option<RigidBodyHandle>) {
- self.ground_handle = handle
- }
-
pub fn clear(&mut self, window: &mut Window) {
for sns in self.b2sn.values_mut() {
for sn in sns.iter_mut() {
diff --git a/src_testbed/harness/mod.rs b/src_testbed/harness/mod.rs
index 2d0c806..a5605cc 100644
--- a/src_testbed/harness/mod.rs
+++ b/src_testbed/harness/mod.rs
@@ -195,14 +195,14 @@ impl Harness {
&mut self.physics.bodies,
&mut self.physics.colliders,
&mut self.physics.joints,
- Some(&mut self.physics.ccd_solver),
+ &mut self.physics.ccd_solver,
&*self.physics.hooks,
&self.event_handler,
);
self.physics
.query_pipeline
- .update(&self.physics.bodies, &self.physics.colliders, false);
+ .update(&self.physics.bodies, &self.physics.colliders);
for plugin in &mut self.plugins {
plugin.step(&mut self.physics, &self.state)
diff --git a/src_testbed/physx_backend.rs b/src_testbed/physx_backend.rs
index 42449ea..8a3b155 100644
--- a/src_testbed/physx_backend.rs
+++ b/src_testbed/physx_backend.rs
@@ -166,6 +166,7 @@ impl PhysxWorld {
broad_phase_type: BroadPhaseType::AutomaticBoxPruning,
solver_type: SolverType::PGS,
friction_type,
+ ccd_max_passes: integration_parameters.max_ccd_substeps as u32,
..SceneDescriptor::new(())
};