aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/debug_render.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2023-11-04 18:12:38 +0100
committerSébastien Crozet <developer@crozet.re>2023-11-04 18:12:38 +0100
commitab68a8386a28bd190281cd952ada2f1e7a5084fc (patch)
tree53f53e15bd5a9e7331461ff3fa02064c8020af1e /src_testbed/debug_render.rs
parent556ba1f99824f9840b1bc4c31f18d31ebebc2c87 (diff)
downloadrapier-ab68a8386a28bd190281cd952ada2f1e7a5084fc.tar.gz
rapier-ab68a8386a28bd190281cd952ada2f1e7a5084fc.tar.bz2
rapier-ab68a8386a28bd190281cd952ada2f1e7a5084fc.zip
feat: add a checkbox to enable/disable the debug renderer in the testbed
Diffstat (limited to 'src_testbed/debug_render.rs')
-rw-r--r--src_testbed/debug_render.rs38
1 files changed, 23 insertions, 15 deletions
diff --git a/src_testbed/debug_render.rs b/src_testbed/debug_render.rs
index 8b79edc..4633865 100644
--- a/src_testbed/debug_render.rs
+++ b/src_testbed/debug_render.rs
@@ -7,17 +7,23 @@ use rapier::pipeline::{
};
#[derive(Resource)]
-pub struct DebugRenderPipelineResource(pub DebugRenderPipeline);
+pub struct DebugRenderPipelineResource {
+ pub pipeline: DebugRenderPipeline,
+ pub enabled: bool,
+}
#[derive(Default)]
pub struct RapierDebugRenderPlugin {}
impl Plugin for RapierDebugRenderPlugin {
fn build(&self, app: &mut App) {
- app.insert_resource(DebugRenderPipelineResource(DebugRenderPipeline::new(
- Default::default(),
- !DebugRenderMode::RIGID_BODY_AXES & !DebugRenderMode::COLLIDER_AABBS,
- )))
+ app.insert_resource(DebugRenderPipelineResource {
+ pipeline: DebugRenderPipeline::new(
+ Default::default(),
+ !DebugRenderMode::RIGID_BODY_AXES & !DebugRenderMode::COLLIDER_AABBS,
+ ),
+ enabled: false,
+ })
.add_systems(Update, debug_render_scene);
}
}
@@ -46,17 +52,19 @@ impl<'a> DebugRenderBackend for BevyLinesRenderBackend<'a> {
}
fn debug_render_scene(
- mut pipeline: ResMut<DebugRenderPipelineResource>,
+ mut debug_render: ResMut<DebugRenderPipelineResource>,
harness: NonSend<Harness>,
gizmos: Gizmos,
) {
- let mut backend = BevyLinesRenderBackend { gizmos };
- pipeline.0.render(
- &mut backend,
- &harness.physics.bodies,
- &harness.physics.colliders,
- &harness.physics.impulse_joints,
- &harness.physics.multibody_joints,
- &harness.physics.narrow_phase,
- );
+ if debug_render.enabled {
+ let mut backend = BevyLinesRenderBackend { gizmos };
+ debug_render.pipeline.render(
+ &mut backend,
+ &harness.physics.bodies,
+ &harness.physics.colliders,
+ &harness.physics.impulse_joints,
+ &harness.physics.multibody_joints,
+ &harness.physics.narrow_phase,
+ );
+ }
}