From 36c3860ddf47c1c7c2ccad43512091d20f5a2dff Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 28 Sep 2026 22:58:05 +0200 Subject: refactor(engine): make model & material assets use asset dependencies --- engine/src/material/asset.rs | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'engine/src/material/asset.rs') 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()); -- cgit v1.2.3-18-g5258