1pub const SOURCES: &[(&str, &str)] = &[
12 ("auto_exposure.slang", AUTO_EXPOSURE),
13 ("bloom.slang", BLOOM),
14 ("composite.slang", COMPOSITE),
15 ("cull.slang", CULL),
16 ("decal.slang", DECAL),
17 ("fog.slang", FOG),
18 ("fullscreen.slang", FULLSCREEN),
19 ("gbuffer_prepass.slang", GBUFFER_PREPASS),
20 ("glass.slang", GLASS),
21 ("glass_mesh.slang", GLASS_MESH),
22 ("hiz_build.slang", HIZ_BUILD),
23 ("light_cull.slang", LIGHT_CULL),
24 ("light_types.slang", LIGHT_TYPES),
25 ("line.slang", LINE),
26 ("main_bindless.slang", MAIN_BINDLESS),
27 ("main_shading.slang", MAIN_SHADING),
28 ("main_types.slang", MAIN_TYPES),
29 ("model_history.slang", MODEL_HISTORY),
30 ("object_common.slang", OBJECT_COMMON),
31 ("particle.slang", PARTICLE),
32 ("particle_simulate.slang", PARTICLE_SIMULATE),
33 ("particle_types.slang", PARTICLE_TYPES),
34 ("post_common.slang", POST_COMMON),
35 ("probe_common.slang", PROBE_COMMON),
36 ("probe_prefilter.slang", PROBE_PREFILTER),
37 ("probe_types.slang", PROBE_TYPES),
38 ("raymarch.slang", RAYMARCH),
39 ("raymarch_common.slang", RAYMARCH_COMMON),
40 ("raymarch_types.slang", RAYMARCH_TYPES),
41 ("reflection.slang", REFLECTION),
42 ("rt_reflections.slang", RT_REFLECTIONS),
43 ("rt_skin.slang", RT_SKIN),
44 ("rt_trace.slang", RT_TRACE),
45 ("rt_types.slang", RT_TYPES),
46 ("shadow.slang", SHADOW),
47 ("shadow_bias.slang", SHADOW_BIAS),
48 ("ssao.slang", SSAO),
49 ("ssgi.slang", SSGI),
50 ("ssr.slang", SSR),
51 ("surface_fragment_default.slang", SURFACE_FRAGMENT_DEFAULT),
52 ("surface_vertex_default.slang", SURFACE_VERTEX_DEFAULT),
53 ("taa.slang", TAA),
54 ("text.slang", TEXT),
55 ("water.slang", WATER),
56];
57
58pub fn embedded(file: &str) -> Option<&'static str> {
60 SOURCES
61 .iter()
62 .find_map(|(name, text)| (*name == file).then_some(*text))
63}
64
65pub const AUTO_EXPOSURE: &str = include_str!("shaders/auto_exposure.slang");
67pub const BLOOM: &str = include_str!("shaders/bloom.slang");
69pub const COMPOSITE: &str = include_str!("shaders/composite.slang");
71pub const CULL: &str = include_str!("shaders/cull.slang");
73pub const DECAL: &str = include_str!("shaders/decal.slang");
75pub const FOG: &str = include_str!("shaders/fog.slang");
77pub const FULLSCREEN: &str = include_str!("shaders/fullscreen.slang");
79pub const GBUFFER_PREPASS: &str = include_str!("shaders/gbuffer_prepass.slang");
81pub const GLASS: &str = include_str!("shaders/glass.slang");
83pub const GLASS_MESH: &str = include_str!("shaders/glass_mesh.slang");
85pub const HIZ_BUILD: &str = include_str!("shaders/hiz_build.slang");
87pub const LIGHT_CULL: &str = include_str!("shaders/light_cull.slang");
89pub const LIGHT_TYPES: &str = include_str!("shaders/light_types.slang");
91pub const LINE: &str = include_str!("shaders/line.slang");
93pub const MAIN_BINDLESS: &str = include_str!("shaders/main_bindless.slang");
95pub const MAIN_SHADING: &str = include_str!("shaders/main_shading.slang");
97pub const MAIN_TYPES: &str = include_str!("shaders/main_types.slang");
99pub const MODEL_HISTORY: &str = include_str!("shaders/model_history.slang");
101pub const OBJECT_COMMON: &str = include_str!("shaders/object_common.slang");
103pub const PARTICLE: &str = include_str!("shaders/particle.slang");
105pub const PARTICLE_SIMULATE: &str = include_str!("shaders/particle_simulate.slang");
107pub const PARTICLE_TYPES: &str = include_str!("shaders/particle_types.slang");
109pub const POST_COMMON: &str = include_str!("shaders/post_common.slang");
111pub const PROBE_COMMON: &str = include_str!("shaders/probe_common.slang");
113pub const PROBE_PREFILTER: &str = include_str!("shaders/probe_prefilter.slang");
115pub const PROBE_TYPES: &str = include_str!("shaders/probe_types.slang");
117pub const RAYMARCH: &str = include_str!("shaders/raymarch.slang");
119pub const RAYMARCH_COMMON: &str = include_str!("shaders/raymarch_common.slang");
121pub const RAYMARCH_TYPES: &str = include_str!("shaders/raymarch_types.slang");
123pub const REFLECTION: &str = include_str!("shaders/reflection.slang");
125pub const RT_REFLECTIONS: &str = include_str!("shaders/rt_reflections.slang");
127pub const RT_SKIN: &str = include_str!("shaders/rt_skin.slang");
129pub const RT_TRACE: &str = include_str!("shaders/rt_trace.slang");
131pub const RT_TYPES: &str = include_str!("shaders/rt_types.slang");
133pub const SHADOW: &str = include_str!("shaders/shadow.slang");
135pub const SHADOW_BIAS: &str = include_str!("shaders/shadow_bias.slang");
137pub const SSAO: &str = include_str!("shaders/ssao.slang");
139pub const SSGI: &str = include_str!("shaders/ssgi.slang");
141pub const SSR: &str = include_str!("shaders/ssr.slang");
143pub const SURFACE_FRAGMENT_DEFAULT: &str = include_str!("shaders/surface_fragment_default.slang");
145pub const SURFACE_VERTEX_DEFAULT: &str = include_str!("shaders/surface_vertex_default.slang");
147pub const TAA: &str = include_str!("shaders/taa.slang");
149pub const TEXT: &str = include_str!("shaders/text.slang");
151pub const WATER: &str = include_str!("shaders/water.slang");