# Objective - Remove dead code after #7784 # Changelog - Removed `SetShadowViewBindGroup`, `queue_shadow_view_bind_group()`, and `LightMeta::shadow_view_bind_group` in favor of reusing the prepass view bind group. # Migration Guide - Removed `SetShadowViewBindGroup`, `queue_shadow_view_bind_group()`, and `LightMeta::shadow_view_bind_group` in favor of reusing the prepass view bind group.
This commit is contained in:
parent
8b8078d1d0
commit
fc7a3bdfc2
@ -1,7 +1,6 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
queue_mesh_view_bind_groups, render, AlphaMode, DrawMesh, DrawPrepass, EnvironmentMapLight,
|
render, AlphaMode, DrawMesh, DrawPrepass, EnvironmentMapLight, MeshPipeline, MeshPipelineKey,
|
||||||
MeshPipeline, MeshPipelineKey, MeshUniform, PrepassPlugin, RenderLightSystems,
|
MeshUniform, PrepassPlugin, RenderLightSystems, SetMeshBindGroup, SetMeshViewBindGroup, Shadow,
|
||||||
SetMeshBindGroup, SetMeshViewBindGroup, Shadow,
|
|
||||||
};
|
};
|
||||||
use bevy_app::{App, IntoSystemAppConfig, Plugin};
|
use bevy_app::{App, IntoSystemAppConfig, Plugin};
|
||||||
use bevy_asset::{AddAsset, AssetEvent, AssetServer, Assets, Handle};
|
use bevy_asset::{AddAsset, AssetEvent, AssetServer, Assets, Handle};
|
||||||
@ -205,11 +204,6 @@ where
|
|||||||
.after(PrepareAssetSet::PreAssetPrepare),
|
.after(PrepareAssetSet::PreAssetPrepare),
|
||||||
)
|
)
|
||||||
.add_system(render::queue_shadows::<M>.in_set(RenderLightSystems::QueueShadows))
|
.add_system(render::queue_shadows::<M>.in_set(RenderLightSystems::QueueShadows))
|
||||||
.add_system(
|
|
||||||
render::queue_shadow_view_bind_group::<M>
|
|
||||||
.in_set(RenderSet::Queue)
|
|
||||||
.ambiguous_with(queue_mesh_view_bind_groups), // queue_mesh_view_bind_groups does not read `shadow_view_bind_group`),
|
|
||||||
)
|
|
||||||
.add_system(queue_material_meshes::<M>.in_set(RenderSet::Queue));
|
.add_system(queue_material_meshes::<M>.in_set(RenderSet::Queue));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,10 +8,7 @@ use crate::{
|
|||||||
};
|
};
|
||||||
use bevy_asset::Handle;
|
use bevy_asset::Handle;
|
||||||
use bevy_core_pipeline::core_3d::Transparent3d;
|
use bevy_core_pipeline::core_3d::Transparent3d;
|
||||||
use bevy_ecs::{
|
use bevy_ecs::prelude::*;
|
||||||
prelude::*,
|
|
||||||
system::{lifetimeless::*, SystemParamItem},
|
|
||||||
};
|
|
||||||
use bevy_math::{Mat4, UVec3, UVec4, Vec2, Vec3, Vec3Swizzles, Vec4, Vec4Swizzles};
|
use bevy_math::{Mat4, UVec3, UVec4, Vec2, Vec3, Vec3Swizzles, Vec4, Vec4Swizzles};
|
||||||
use bevy_render::{
|
use bevy_render::{
|
||||||
camera::Camera,
|
camera::Camera,
|
||||||
@ -20,13 +17,12 @@ use bevy_render::{
|
|||||||
render_asset::RenderAssets,
|
render_asset::RenderAssets,
|
||||||
render_graph::{Node, NodeRunError, RenderGraphContext, SlotInfo, SlotType},
|
render_graph::{Node, NodeRunError, RenderGraphContext, SlotInfo, SlotType},
|
||||||
render_phase::{
|
render_phase::{
|
||||||
CachedRenderPipelinePhaseItem, DrawFunctionId, DrawFunctions, PhaseItem, RenderCommand,
|
CachedRenderPipelinePhaseItem, DrawFunctionId, DrawFunctions, PhaseItem, RenderPhase,
|
||||||
RenderCommandResult, RenderPhase, TrackedRenderPass,
|
|
||||||
},
|
},
|
||||||
render_resource::*,
|
render_resource::*,
|
||||||
renderer::{RenderContext, RenderDevice, RenderQueue},
|
renderer::{RenderContext, RenderDevice, RenderQueue},
|
||||||
texture::*,
|
texture::*,
|
||||||
view::{ComputedVisibility, ExtractedView, ViewUniformOffset, ViewUniforms, VisibleEntities},
|
view::{ComputedVisibility, ExtractedView, VisibleEntities},
|
||||||
Extract,
|
Extract,
|
||||||
};
|
};
|
||||||
use bevy_transform::{components::GlobalTransform, prelude::Transform};
|
use bevy_transform::{components::GlobalTransform, prelude::Transform};
|
||||||
@ -579,7 +575,6 @@ impl GlobalLightMeta {
|
|||||||
#[derive(Resource, Default)]
|
#[derive(Resource, Default)]
|
||||||
pub struct LightMeta {
|
pub struct LightMeta {
|
||||||
pub view_gpu_lights: DynamicUniformBuffer<GpuLights>,
|
pub view_gpu_lights: DynamicUniformBuffer<GpuLights>,
|
||||||
pub shadow_view_bind_group: Option<BindGroup>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
@ -1549,25 +1544,6 @@ pub fn prepare_clusters(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn queue_shadow_view_bind_group<M: Material>(
|
|
||||||
render_device: Res<RenderDevice>,
|
|
||||||
prepass_pipeline: Res<PrepassPipeline<M>>,
|
|
||||||
mut light_meta: ResMut<LightMeta>,
|
|
||||||
view_uniforms: Res<ViewUniforms>,
|
|
||||||
) {
|
|
||||||
if let Some(view_binding) = view_uniforms.uniforms.binding() {
|
|
||||||
light_meta.shadow_view_bind_group =
|
|
||||||
Some(render_device.create_bind_group(&BindGroupDescriptor {
|
|
||||||
entries: &[BindGroupEntry {
|
|
||||||
binding: 0,
|
|
||||||
resource: view_binding,
|
|
||||||
}],
|
|
||||||
label: Some("shadow_view_bind_group"),
|
|
||||||
layout: &prepass_pipeline.view_layout,
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
pub fn queue_shadows<M: Material>(
|
pub fn queue_shadows<M: Material>(
|
||||||
shadow_draw_functions: Res<DrawFunctions<Shadow>>,
|
shadow_draw_functions: Res<DrawFunctions<Shadow>>,
|
||||||
@ -1772,31 +1748,3 @@ impl Node for ShadowPassNode {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SetShadowViewBindGroup<const I: usize>;
|
|
||||||
impl<const I: usize> RenderCommand<Shadow> for SetShadowViewBindGroup<I> {
|
|
||||||
type Param = SRes<LightMeta>;
|
|
||||||
type ViewWorldQuery = Read<ViewUniformOffset>;
|
|
||||||
type ItemWorldQuery = ();
|
|
||||||
|
|
||||||
#[inline]
|
|
||||||
fn render<'w>(
|
|
||||||
_item: &Shadow,
|
|
||||||
view_uniform_offset: &'_ ViewUniformOffset,
|
|
||||||
_entity: (),
|
|
||||||
light_meta: SystemParamItem<'w, '_, Self::Param>,
|
|
||||||
pass: &mut TrackedRenderPass<'w>,
|
|
||||||
) -> RenderCommandResult {
|
|
||||||
pass.set_bind_group(
|
|
||||||
I,
|
|
||||||
light_meta
|
|
||||||
.into_inner()
|
|
||||||
.shadow_view_bind_group
|
|
||||||
.as_ref()
|
|
||||||
.unwrap(),
|
|
||||||
&[view_uniform_offset.offset],
|
|
||||||
);
|
|
||||||
|
|
||||||
RenderCommandResult::Success
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user