pub const SOURCES: &[(&str, &str)] = &[
("auto_exposure.slang", AUTO_EXPOSURE),
("bloom.slang", BLOOM),
("composite.slang", COMPOSITE),
("cull.slang", CULL),
("decal.slang", DECAL),
("fog.slang", FOG),
("fullscreen.slang", FULLSCREEN),
("gbuffer_prepass.slang", GBUFFER_PREPASS),
("glass.slang", GLASS),
("glass_mesh.slang", GLASS_MESH),
("hiz_build.slang", HIZ_BUILD),
("light_cull.slang", LIGHT_CULL),
("light_types.slang", LIGHT_TYPES),
("line.slang", LINE),
("main_bindless.slang", MAIN_BINDLESS),
("main_shading.slang", MAIN_SHADING),
("main_types.slang", MAIN_TYPES),
("model_history.slang", MODEL_HISTORY),
("object_common.slang", OBJECT_COMMON),
("particle.slang", PARTICLE),
("particle_simulate.slang", PARTICLE_SIMULATE),
("particle_types.slang", PARTICLE_TYPES),
("post_common.slang", POST_COMMON),
("probe_common.slang", PROBE_COMMON),
("probe_prefilter.slang", PROBE_PREFILTER),
("probe_types.slang", PROBE_TYPES),
("raymarch.slang", RAYMARCH),
("raymarch_common.slang", RAYMARCH_COMMON),
("raymarch_types.slang", RAYMARCH_TYPES),
("reflection.slang", REFLECTION),
("rt_reflections.slang", RT_REFLECTIONS),
("rt_skin.slang", RT_SKIN),
("rt_trace.slang", RT_TRACE),
("rt_types.slang", RT_TYPES),
("shadow.slang", SHADOW),
("shadow_bias.slang", SHADOW_BIAS),
("ssao.slang", SSAO),
("ssgi.slang", SSGI),
("ssr.slang", SSR),
("surface_fragment_default.slang", SURFACE_FRAGMENT_DEFAULT),
("surface_vertex_default.slang", SURFACE_VERTEX_DEFAULT),
("taa.slang", TAA),
("text.slang", TEXT),
("water.slang", WATER),
];
pub fn embedded(file: &str) -> Option<&'static str> {
SOURCES
.iter()
.find_map(|(name, text)| (*name == file).then_some(*text))
}
pub const AUTO_EXPOSURE: &str = include_str!("shaders/auto_exposure.slang");
pub const BLOOM: &str = include_str!("shaders/bloom.slang");
pub const COMPOSITE: &str = include_str!("shaders/composite.slang");
pub const CULL: &str = include_str!("shaders/cull.slang");
pub const DECAL: &str = include_str!("shaders/decal.slang");
pub const FOG: &str = include_str!("shaders/fog.slang");
pub const FULLSCREEN: &str = include_str!("shaders/fullscreen.slang");
pub const GBUFFER_PREPASS: &str = include_str!("shaders/gbuffer_prepass.slang");
pub const GLASS: &str = include_str!("shaders/glass.slang");
pub const GLASS_MESH: &str = include_str!("shaders/glass_mesh.slang");
pub const HIZ_BUILD: &str = include_str!("shaders/hiz_build.slang");
pub const LIGHT_CULL: &str = include_str!("shaders/light_cull.slang");
pub const LIGHT_TYPES: &str = include_str!("shaders/light_types.slang");
pub const LINE: &str = include_str!("shaders/line.slang");
pub const MAIN_BINDLESS: &str = include_str!("shaders/main_bindless.slang");
pub const MAIN_SHADING: &str = include_str!("shaders/main_shading.slang");
pub const MAIN_TYPES: &str = include_str!("shaders/main_types.slang");
pub const MODEL_HISTORY: &str = include_str!("shaders/model_history.slang");
pub const OBJECT_COMMON: &str = include_str!("shaders/object_common.slang");
pub const PARTICLE: &str = include_str!("shaders/particle.slang");
pub const PARTICLE_SIMULATE: &str = include_str!("shaders/particle_simulate.slang");
pub const PARTICLE_TYPES: &str = include_str!("shaders/particle_types.slang");
pub const POST_COMMON: &str = include_str!("shaders/post_common.slang");
pub const PROBE_COMMON: &str = include_str!("shaders/probe_common.slang");
pub const PROBE_PREFILTER: &str = include_str!("shaders/probe_prefilter.slang");
pub const PROBE_TYPES: &str = include_str!("shaders/probe_types.slang");
pub const RAYMARCH: &str = include_str!("shaders/raymarch.slang");
pub const RAYMARCH_COMMON: &str = include_str!("shaders/raymarch_common.slang");
pub const RAYMARCH_TYPES: &str = include_str!("shaders/raymarch_types.slang");
pub const REFLECTION: &str = include_str!("shaders/reflection.slang");
pub const RT_REFLECTIONS: &str = include_str!("shaders/rt_reflections.slang");
pub const RT_SKIN: &str = include_str!("shaders/rt_skin.slang");
pub const RT_TRACE: &str = include_str!("shaders/rt_trace.slang");
pub const RT_TYPES: &str = include_str!("shaders/rt_types.slang");
pub const SHADOW: &str = include_str!("shaders/shadow.slang");
pub const SHADOW_BIAS: &str = include_str!("shaders/shadow_bias.slang");
pub const SSAO: &str = include_str!("shaders/ssao.slang");
pub const SSGI: &str = include_str!("shaders/ssgi.slang");
pub const SSR: &str = include_str!("shaders/ssr.slang");
pub const SURFACE_FRAGMENT_DEFAULT: &str = include_str!("shaders/surface_fragment_default.slang");
pub const SURFACE_VERTEX_DEFAULT: &str = include_str!("shaders/surface_vertex_default.slang");
pub const TAA: &str = include_str!("shaders/taa.slang");
pub const TEXT: &str = include_str!("shaders/text.slang");
pub const WATER: &str = include_str!("shaders/water.slang");