@@ -16,7 +16,7 @@ use bevy_render::{
1616use bevy_sprite:: * ;
1717use bevy_utils:: FloatOrd ;
1818
19- use crate :: { DebugDrawConfig , DebugDrawMesh , SHADER_HANDLE } ;
19+ use crate :: { DebugDrawMesh , SHADER_HANDLE } ;
2020
2121#[ derive( Resource ) ]
2222pub ( crate ) struct DebugLinePipeline {
@@ -93,47 +93,40 @@ pub(crate) type DrawDebugLines = (
9393
9494#[ allow( clippy:: too_many_arguments) ]
9595pub ( crate ) fn queue (
96- config : Res < DebugDrawConfig > ,
9796 draw2d_functions : Res < DrawFunctions < Transparent2d > > ,
9897 debug_line_pipeline : Res < DebugLinePipeline > ,
9998 mut pipeline_cache : ResMut < PipelineCache > ,
10099 mut specialized_pipelines : ResMut < SpecializedMeshPipelines < DebugLinePipeline > > ,
101100 render_meshes : Res < RenderAssets < Mesh > > ,
102101 msaa : Res < Msaa > ,
103- material_meshes : Query < ( & Mesh2dUniform , & Mesh2dHandle ) , With < DebugDrawMesh > > ,
102+ material_meshes : Query < & Mesh2dHandle , With < DebugDrawMesh > > ,
104103 mut views : Query < ( & VisibleEntities , & mut RenderPhase < Transparent2d > ) > ,
105104) {
106105 for ( view, mut phase) in & mut views {
107106 let draw_mesh2d = draw2d_functions. read ( ) . get_id :: < DrawDebugLines > ( ) . unwrap ( ) ;
108107 let msaa_key = Mesh2dPipelineKey :: from_msaa_samples ( msaa. samples ) ;
109108
110109 for visible_entity in & view. entities {
111- if let Ok ( ( uniform, mesh_handle) ) = material_meshes. get ( * visible_entity) {
112- if let Some ( mesh) = render_meshes. get ( & mesh_handle. 0 ) {
113- let mesh_key = msaa_key
114- | Mesh2dPipelineKey :: from_primitive_topology ( PrimitiveTopology :: LineList ) ;
115- let mesh_z = if config. always_on_top {
116- f32:: MAX
117- } else {
118- uniform. transform . w_axis . z
119- } ;
120- let pipeline = specialized_pipelines
121- . specialize (
122- & mut pipeline_cache,
123- & debug_line_pipeline,
124- mesh_key,
125- & mesh. layout ,
126- )
127- . unwrap ( ) ;
128- phase. add ( Transparent2d {
129- entity : * visible_entity,
130- draw_function : draw_mesh2d,
131- pipeline,
132- sort_key : FloatOrd ( mesh_z) ,
133- batch_range : None ,
134- } ) ;
135- }
136- }
110+ let Ok ( mesh_handle) = material_meshes. get ( * visible_entity) else { continue ; } ;
111+ let Some ( mesh) = render_meshes. get ( & mesh_handle. 0 ) else { continue ; } ;
112+
113+ let mesh_key =
114+ msaa_key | Mesh2dPipelineKey :: from_primitive_topology ( PrimitiveTopology :: LineList ) ;
115+ let pipeline = specialized_pipelines
116+ . specialize (
117+ & mut pipeline_cache,
118+ & debug_line_pipeline,
119+ mesh_key,
120+ & mesh. layout ,
121+ )
122+ . unwrap ( ) ;
123+ phase. add ( Transparent2d {
124+ entity : * visible_entity,
125+ draw_function : draw_mesh2d,
126+ pipeline,
127+ sort_key : FloatOrd ( f32:: MAX ) ,
128+ batch_range : None ,
129+ } ) ;
137130 }
138131 }
139132}
0 commit comments