diff options
| author | HampusM <hampus@hampusmat.com> | 2026-09-28 22:58:05 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-09-28 22:58:05 +0200 |
| commit | 36c3860ddf47c1c7c2ccad43512091d20f5a2dff (patch) | |
| tree | a3fbf44b7dc3cf30d12c56680485ae7e9dcd9efd /engine/src/material/asset.rs | |
| parent | e776925533d09a436210d51273da3994c685c40a (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.rs | 33 |
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()); |
