Skip to content

Commit d234b18

Browse files
RenderPhase<Transparent2d> -> ViewSortedRenderPhases<Transparent2d>
[12453](https://github.com/StarArawn/bevy_ecs_tilemap/pull/bevyengine/bevy#12453): Render phases are now binned or sorted. Following the changes in the `mesh2d_manual` [example](https://github.com/bevyengine/bevy/blob/ecdd1624f302c5f71aaed95b0984cbbecf8880b7/examples/2d/mesh2d_manual.rs#L357-L358): use the `ViewSortedRenderPhases` resource.
1 parent 29f5818 commit d234b18

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/render/material.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ use bevy::{
77
extract_component::ExtractComponentPlugin,
88
globals::GlobalsBuffer,
99
render_asset::RenderAssets,
10-
render_phase::{AddRenderCommand, DrawFunctions, PhaseItemExtraIndex, RenderPhase},
10+
render_phase::{
11+
AddRenderCommand, DrawFunctions, PhaseItemExtraIndex, ViewSortedRenderPhases,
12+
},
1113
render_resource::{
1214
AsBindGroup, AsBindGroupError, BindGroup, BindGroupEntry, BindGroupLayout,
1315
BindingResource, OwnedBindingResource, PipelineCache, RenderPipelineDescriptor,
@@ -386,16 +388,13 @@ pub fn queue_material_tilemap_meshes<M: MaterialTilemap>(
386388
Query<(Entity, &ChunkId, &Transform, &TilemapId)>,
387389
Query<&Handle<M>>,
388390
),
389-
mut views: Query<(
390-
&ExtractedView,
391-
&VisibleEntities,
392-
&mut RenderPhase<Transparent2d>,
393-
)>,
391+
mut views: Query<(Entity, &ExtractedView, &VisibleEntities)>,
394392
render_materials: Res<RenderMaterialsTilemap<M>>,
395393
#[cfg(not(feature = "atlas"))] (mut texture_array_cache, render_queue): (
396394
ResMut<TextureArrayCache>,
397395
Res<RenderQueue>,
398396
),
397+
mut transparent_render_phases: ResMut<ViewSortedRenderPhases<Transparent2d>>,
399398
) where
400399
M::Data: PartialEq + Eq + Hash + Clone,
401400
{
@@ -410,7 +409,11 @@ pub fn queue_material_tilemap_meshes<M: MaterialTilemap>(
410409
return;
411410
}
412411

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+
414417
let draw_tilemap = transparent_2d_draw_functions
415418
.read()
416419
.get_id::<DrawTilemapMaterial<M>>()

0 commit comments

Comments
 (0)