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 ("object_common.slang", OBJECT_COMMON),
30 ("particle.slang", PARTICLE),
31 ("particle_simulate.slang", PARTICLE_SIMULATE),
32 ("particle_types.slang", PARTICLE_TYPES),
33 ("post_common.slang", POST_COMMON),
34 ("probe_common.slang", PROBE_COMMON),
35 ("probe_prefilter.slang", PROBE_PREFILTER),
36 ("probe_types.slang", PROBE_TYPES),
37 ("raymarch.slang", RAYMARCH),
38 ("raymarch_common.slang", RAYMARCH_COMMON),
39 ("raymarch_types.slang", RAYMARCH_TYPES),
40 ("reflection.slang", REFLECTION),
41 ("rt_reflections.slang", RT_REFLECTIONS),
42 ("rt_skin.slang", RT_SKIN),
43 ("rt_trace.slang", RT_TRACE),
44 ("rt_types.slang", RT_TYPES),
45 ("shadow.slang", SHADOW),
46 ("shadow_bias.slang", SHADOW_BIAS),
47 ("ssao.slang", SSAO),
48 ("ssgi.slang", SSGI),
49 ("ssr.slang", SSR),
50 ("surface_fragment_default.slang", SURFACE_FRAGMENT_DEFAULT),
51 ("surface_vertex_default.slang", SURFACE_VERTEX_DEFAULT),
52 ("taa.slang", TAA),
53 ("text.slang", TEXT),
54 ("water.slang", WATER),
55];
56
57pub fn embedded(file: &str) -> Option<&'static str> {
59 SOURCES
60 .iter()
61 .find_map(|(name, text)| (*name == file).then_some(*text))
62}
63
64pub const AUTO_EXPOSURE: &str = include_str!("shaders/auto_exposure.slang");
66pub const BLOOM: &str = include_str!("shaders/bloom.slang");
68pub const COMPOSITE: &str = include_str!("shaders/composite.slang");
70pub const CULL: &str = include_str!("shaders/cull.slang");
72pub const DECAL: &str = include_str!("shaders/decal.slang");
74pub const FOG: &str = include_str!("shaders/fog.slang");
76pub const FULLSCREEN: &str = include_str!("shaders/fullscreen.slang");
78pub const GBUFFER_PREPASS: &str = include_str!("shaders/gbuffer_prepass.slang");
80pub const GLASS: &str = include_str!("shaders/glass.slang");
82pub const GLASS_MESH: &str = include_str!("shaders/glass_mesh.slang");
84pub const HIZ_BUILD: &str = include_str!("shaders/hiz_build.slang");
86pub const LIGHT_CULL: &str = include_str!("shaders/light_cull.slang");
88pub const LIGHT_TYPES: &str = include_str!("shaders/light_types.slang");
90pub const LINE: &str = include_str!("shaders/line.slang");
92pub const MAIN_BINDLESS: &str = include_str!("shaders/main_bindless.slang");
94pub const MAIN_SHADING: &str = include_str!("shaders/main_shading.slang");
96pub const MAIN_TYPES: &str = include_str!("shaders/main_types.slang");
98pub const OBJECT_COMMON: &str = include_str!("shaders/object_common.slang");
100pub const PARTICLE: &str = include_str!("shaders/particle.slang");
102pub const PARTICLE_SIMULATE: &str = include_str!("shaders/particle_simulate.slang");
104pub const PARTICLE_TYPES: &str = include_str!("shaders/particle_types.slang");
106pub const POST_COMMON: &str = include_str!("shaders/post_common.slang");
108pub const PROBE_COMMON: &str = include_str!("shaders/probe_common.slang");
110pub const PROBE_PREFILTER: &str = include_str!("shaders/probe_prefilter.slang");
112pub const PROBE_TYPES: &str = include_str!("shaders/probe_types.slang");
114pub const RAYMARCH: &str = include_str!("shaders/raymarch.slang");
116pub const RAYMARCH_COMMON: &str = include_str!("shaders/raymarch_common.slang");
118pub const RAYMARCH_TYPES: &str = include_str!("shaders/raymarch_types.slang");
120pub const REFLECTION: &str = include_str!("shaders/reflection.slang");
122pub const RT_REFLECTIONS: &str = include_str!("shaders/rt_reflections.slang");
124pub const RT_SKIN: &str = include_str!("shaders/rt_skin.slang");
126pub const RT_TRACE: &str = include_str!("shaders/rt_trace.slang");
128pub const RT_TYPES: &str = include_str!("shaders/rt_types.slang");
130pub const SHADOW: &str = include_str!("shaders/shadow.slang");
132pub const SHADOW_BIAS: &str = include_str!("shaders/shadow_bias.slang");
134pub const SSAO: &str = include_str!("shaders/ssao.slang");
136pub const SSGI: &str = include_str!("shaders/ssgi.slang");
138pub const SSR: &str = include_str!("shaders/ssr.slang");
140pub const SURFACE_FRAGMENT_DEFAULT: &str = include_str!("shaders/surface_fragment_default.slang");
142pub const SURFACE_VERTEX_DEFAULT: &str = include_str!("shaders/surface_vertex_default.slang");
144pub const TAA: &str = include_str!("shaders/taa.slang");
146pub const TEXT: &str = include_str!("shaders/text.slang");
148pub const WATER: &str = include_str!("shaders/water.slang");