summaryrefslogtreecommitdiff
path: root/engine/src/material/asset.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-09-28 22:58:05 +0200
committerHampusM <hampus@hampusmat.com>2026-09-28 22:58:05 +0200
commit36c3860ddf47c1c7c2ccad43512091d20f5a2dff (patch)
treea3fbf44b7dc3cf30d12c56680485ae7e9dcd9efd /engine/src/material/asset.rs
parente776925533d09a436210d51273da3994c685c40a (diff)
refactor(engine): make model & material assets use asset dependencies
Diffstat (limited to 'engine/src/material/asset.rs')
-rw-r--r--engine/src/material/asset.rs33
1 files changed, 22 insertions, 11 deletions
diff --git a/engine/src/material/asset.rs b/engine/src/material/asset.rs
index f452f54..d48126e 100644
--- a/engine/src/material/asset.rs
+++ b/engine/src/material/asset.rs
@@ -1,8 +1,13 @@
use std::fs::read_to_string;
use std::path::{Path, PathBuf};
-use crate::asset::{Assets, Submitter as AssetSubmitter};
-use crate::material::Material;
+use crate::asset::{
+ Assets,
+ Handle as AssetHandle,
+ Label as AssetLabel,
+ Submitter as AssetSubmitter,
+};
+use crate::material::{LoadingTextureName, Material};
/// Material asset import settings.
#[derive(Debug)]
@@ -41,21 +46,27 @@ fn import(
.shininess(material.shininess);
if let Some(ambient_map) = material.ambient_map {
- material_builder = material_builder.ambient_map(
- asset_submitter.submit_load_other(parent_path.join(&ambient_map.path)),
- );
+ let asset_label = AssetLabel::from(parent_path.join(&ambient_map.path));
+
+ material_builder = material_builder
+ .ambient_map(AssetHandle::invalid())
+ .loading_texture(LoadingTextureName::AmbientMap, asset_label);
}
if let Some(diffuse_map) = material.diffuse_map {
- material_builder = material_builder.diffuse_map(
- asset_submitter.submit_load_other(parent_path.join(&diffuse_map.path)),
- );
+ let asset_label = AssetLabel::from(parent_path.join(&diffuse_map.path));
+
+ material_builder = material_builder
+ .diffuse_map(AssetHandle::invalid())
+ .loading_texture(LoadingTextureName::DiffuseMap, asset_label);
}
if let Some(specular_map) = material.specular_map {
- material_builder = material_builder.specular_map(
- asset_submitter.submit_load_other(parent_path.join(&specular_map.path)),
- );
+ let asset_label = AssetLabel::from(parent_path.join(&specular_map.path));
+
+ material_builder = material_builder
+ .specular_map(AssetHandle::invalid())
+ .loading_texture(LoadingTextureName::SpecularMap, asset_label);
}
asset_submitter.submit_store_named(material.name, material_builder.build());