From ab68a8386a28bd190281cd952ada2f1e7a5084fc Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Sat, 4 Nov 2023 18:12:38 +0100 Subject: feat: add a checkbox to enable/disable the debug renderer in the testbed --- src_testbed/debug_render.rs | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'src_testbed/debug_render.rs') 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, + mut debug_render: ResMut, harness: NonSend, 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, + ); + } } -- cgit