@@ -7,7 +7,9 @@ use bevy::{
7
7
extract_component:: ExtractComponentPlugin ,
8
8
globals:: GlobalsBuffer ,
9
9
render_asset:: RenderAssets ,
10
- render_phase:: { AddRenderCommand , DrawFunctions , PhaseItemExtraIndex , RenderPhase } ,
10
+ render_phase:: {
11
+ AddRenderCommand , DrawFunctions , PhaseItemExtraIndex , ViewSortedRenderPhases ,
12
+ } ,
11
13
render_resource:: {
12
14
AsBindGroup , AsBindGroupError , BindGroup , BindGroupEntry , BindGroupLayout ,
13
15
BindingResource , OwnedBindingResource , PipelineCache , RenderPipelineDescriptor ,
@@ -386,16 +388,13 @@ pub fn queue_material_tilemap_meshes<M: MaterialTilemap>(
386
388
Query < ( Entity , & ChunkId , & Transform , & TilemapId ) > ,
387
389
Query < & Handle < M > > ,
388
390
) ,
389
- mut views : Query < (
390
- & ExtractedView ,
391
- & VisibleEntities ,
392
- & mut RenderPhase < Transparent2d > ,
393
- ) > ,
391
+ mut views : Query < ( Entity , & ExtractedView , & VisibleEntities ) > ,
394
392
render_materials : Res < RenderMaterialsTilemap < M > > ,
395
393
#[ cfg( not( feature = "atlas" ) ) ] ( mut texture_array_cache, render_queue) : (
396
394
ResMut < TextureArrayCache > ,
397
395
Res < RenderQueue > ,
398
396
) ,
397
+ mut transparent_render_phases : ResMut < ViewSortedRenderPhases < Transparent2d > > ,
399
398
) where
400
399
M :: Data : PartialEq + Eq + Hash + Clone ,
401
400
{
@@ -410,7 +409,11 @@ pub fn queue_material_tilemap_meshes<M: MaterialTilemap>(
410
409
return ;
411
410
}
412
411
413
- for ( view, visible_entities, mut transparent_phase) in views. iter_mut ( ) {
412
+ for ( view_entity, view, visible_entities) in views. iter_mut ( ) {
413
+ let Some ( transparent_phase) = transparent_render_phases. get_mut ( & view_entity) else {
414
+ continue ;
415
+ } ;
416
+
414
417
let draw_tilemap = transparent_2d_draw_functions
415
418
. read ( )
416
419
. get_id :: < DrawTilemapMaterial < M > > ( )
0 commit comments