use concinnity_core::render::uniforms::{
RaymarchShadowCascade, RaymarchView, RaymarchVolumeUniforms,
};
use crate::shader_layout::mirror::{Case, everywhere, mirror};
pub(in crate::shader_layout) fn surface() -> Vec<Case> {
vec![
everywhere(mirror!(RaymarchView => "RaymarchView" {
vp,
inv_vp,
cam_pos,
viewport,
time,
prefilter_mip_count,
sky_rot,
})),
everywhere(mirror!(RaymarchVolumeUniforms => "SdfVolumeUniforms" {
[centre, _pad0] => ["centre"],
[extent, _pad1] => ["extent"],
cone_ratio,
max_distance,
max_steps,
receive_shadows,
params,
})),
]
}
pub(in crate::shader_layout) fn shadow() -> Vec<Case> {
vec![everywhere(
mirror!(RaymarchShadowCascade => "RaymarchShadowCascade" {
cascade_idx,
[_pad] => ["_pad0", "_pad1", "_pad2"],
}),
)]
}