use ssr dynamic offset in volumetric fog bind group (#13544)

# Objective

- #13418 broke volumetric fog

```
wgpu error: Validation Error

Caused by:
    In a RenderPass
      note: encoder = `<CommandBuffer-(2, 4, Metal)>`
    In a set_bind_group command
      note: bind group = `mesh_view_bind_group`
    Bind group 0 expects 5 dynamic offsets. However 4 dynamic offsets were provided.
```

## Solution

- add ssr offset to volumetric fog bind group
This commit is contained in:
François Mockers 2024-05-27 23:47:16 +02:00 committed by GitHub
parent 901d71b81c
commit 2e8abee14a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -73,6 +73,7 @@ use bevy_utils::prelude::default;
use crate::{ use crate::{
graph::NodePbr, MeshPipelineViewLayoutKey, MeshPipelineViewLayouts, MeshViewBindGroup, graph::NodePbr, MeshPipelineViewLayoutKey, MeshPipelineViewLayouts, MeshViewBindGroup,
ViewFogUniformOffset, ViewLightProbesUniformOffset, ViewLightsUniformOffset, ViewFogUniformOffset, ViewLightProbesUniformOffset, ViewLightsUniformOffset,
ViewScreenSpaceReflectionsUniformOffset,
}; };
/// The volumetric fog shader. /// The volumetric fog shader.
@ -397,6 +398,7 @@ impl ViewNode for VolumetricFogNode {
Read<ViewLightProbesUniformOffset>, Read<ViewLightProbesUniformOffset>,
Read<ViewVolumetricFogUniformOffset>, Read<ViewVolumetricFogUniformOffset>,
Read<MeshViewBindGroup>, Read<MeshViewBindGroup>,
Read<ViewScreenSpaceReflectionsUniformOffset>,
); );
fn run<'w>( fn run<'w>(
@ -413,6 +415,7 @@ impl ViewNode for VolumetricFogNode {
view_light_probes_offset, view_light_probes_offset,
view_volumetric_lighting_uniform_buffer_offset, view_volumetric_lighting_uniform_buffer_offset,
view_bind_group, view_bind_group,
view_ssr_offset,
): QueryItem<'w, Self::ViewQuery>, ): QueryItem<'w, Self::ViewQuery>,
world: &'w World, world: &'w World,
) -> Result<(), NodeRunError> { ) -> Result<(), NodeRunError> {
@ -474,6 +477,7 @@ impl ViewNode for VolumetricFogNode {
view_lights_offset.offset, view_lights_offset.offset,
view_fog_offset.offset, view_fog_offset.offset,
**view_light_probes_offset, **view_light_probes_offset,
**view_ssr_offset,
], ],
); );
render_pass.set_bind_group( render_pass.set_bind_group(