Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_shader/src/lib.rs
6604 views
1
#![expect(missing_docs, reason = "Not all docs are written yet, see #3492.")]
2
3
extern crate alloc;
4
5
mod shader;
6
mod shader_cache;
7
pub use shader::*;
8
pub use shader_cache::*;
9
10
/// The shader prelude.
11
///
12
/// This includes the most common types in this crate, re-exported for your convenience.
13
pub mod prelude {
14
#[doc(hidden)]
15
pub use crate::Shader;
16
}
17
18
#[doc(hidden)]
19
pub mod _macro {
20
pub use bevy_asset;
21
}
22
23
/// Inline shader as an `embedded_asset` and load it permanently.
24
///
25
/// This works around a limitation of the shader loader not properly loading
26
/// dependencies of shaders.
27
#[macro_export]
28
macro_rules! load_shader_library {
29
($asset_server_provider: expr, $path: literal $(, $settings: expr)?) => {
30
$crate::_macro::bevy_asset::embedded_asset!($asset_server_provider, $path);
31
let handle: $crate::_macro::bevy_asset::prelude::Handle<$crate::prelude::Shader> =
32
$crate::_macro::bevy_asset::load_embedded_asset!(
33
$asset_server_provider,
34
$path
35
$(,$settings)?
36
);
37
core::mem::forget(handle);
38
}
39
}
40
41