Skip to main content

ursus_core/assets/registry/
mod.rs

1pub 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}