ursus_core/assets/registry/
mod.rs1pub mod material;
2pub mod mesh;
3pub mod texture;
4
5pub use material::MaterialAssetRegistry;
6pub use material::MaterialRegistry;
7pub use mesh::MeshRegistry;
8pub use texture::{TextureHandle, TextureRegistry};
9
10use crate::assets::upload::GpuUploadRequest;
11use std::sync::mpsc::Sender;
12
13#[derive(Default)]
14pub struct AssetRegistry {
15 pub meshes: MeshRegistry,
16 pub textures: TextureRegistry,
17 pub materials: MaterialAssetRegistry,
18}
19
20impl AssetRegistry {
21 pub(crate) fn flush_uploads(&mut self, tx: &Sender<GpuUploadRequest>) {
22 self.meshes.flush_uploads(tx);
23 self.textures.flush_uploads(tx);
24 self.materials.flush_dirty(tx);
25 }
26}