diff options
| author | Sébastien Crozet <developer@crozet.re> | 2023-11-04 18:12:38 +0100 |
|---|---|---|
| committer | Sébastien Crozet <developer@crozet.re> | 2023-11-04 18:12:38 +0100 |
| commit | ab68a8386a28bd190281cd952ada2f1e7a5084fc (patch) | |
| tree | 53f53e15bd5a9e7331461ff3fa02064c8020af1e /src_testbed/debug_render.rs | |
| parent | 556ba1f99824f9840b1bc4c31f18d31ebebc2c87 (diff) | |
| download | rapier-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.rs | 38 |
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, + ); + } } |
