wde_pbr/deferred/subpass/
gbuffer_bindgroup.rs1use bevy::prelude::*;
2
3use bevy::ecs::system::SystemParamItem;
4use wde_renderer::prelude::*;
5
6use crate::{deferred::transform::PbrSsboTransform, prelude::PbrSsboInstanceToTransform};
7
8#[derive(Default, Clone, TypePath, Asset)]
9pub struct SsboTransformBinding;
10impl RenderBinding for SsboTransformBinding {
11 type Params = (
12 SRenderData<PbrSsboTransform>,
13 SRenderData<PbrSsboInstanceToTransform>
14 );
15
16 fn describe(
17 &mut self,
18 (ssbo_transform, ssbo_instance_to_transform): &SystemParamItem<Self::Params>,
19 builder: &mut wde_renderer::assets::RenderBindingBuilder
20 ) {
21 builder
22 .add_buffer(ssbo_transform, PbrSsboTransform::TRANSFORM_IDX)
23 .add_buffer(
24 ssbo_instance_to_transform,
25 PbrSsboInstanceToTransform::INSTANCE_TO_TRANSFORM_IDX
26 );
27 }
28
29 fn label(&self) -> &str {
30 "ssbo-transform-bindgroup"
31 }
32}