use awsm_renderer_materials::MaterialShaderId;
use crate::{
dynamic_materials::ShadingBase,
render_passes::geometry::shader::{
cache_key::DynamicVertexShaderInfo, masked_cache_key::DynamicAlphaShaderInfo,
},
shaders::ShaderCacheKey,
};
#[derive(Hash, Debug, Clone, PartialEq, Eq)]
pub struct ShaderCacheKeyShadowMaskedCustomVertex {
pub shader_id: MaterialShaderId,
pub base: ShadingBase,
pub dynamic_vertex: DynamicVertexShaderInfo,
pub dynamic_alpha: Option<DynamicAlphaShaderInfo>,
pub texture_pool_arrays_len: u32,
pub texture_pool_samplers_len: u32,
}
impl From<ShaderCacheKeyShadowMaskedCustomVertex> for ShaderCacheKey {
fn from(value: ShaderCacheKeyShadowMaskedCustomVertex) -> Self {
ShaderCacheKey::ShadowMaskedCustomVertex(value)
}
}