From 12ace9cb1381791d7a1a6f18d22b4f50047dd46d Mon Sep 17 00:00:00 2001 From: IllusionMan1212 Date: Tue, 31 Oct 2023 06:20:27 +0200 Subject: [PATCH] fix(obj): load all files in mtllib statement --- src/importer/obj.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/importer/obj.rs b/src/importer/obj.rs index e42295a..bde87bd 100644 --- a/src/importer/obj.rs +++ b/src/importer/obj.rs @@ -350,14 +350,16 @@ pub fn load_obj(obj_path: &PathBuf, file: std::fs::File) -> Result { - let material_path = obj_path.parent().unwrap().join(iter.next().unwrap_or("")); - let new_materials = parse_mtl(&material_path); - match new_materials { - Ok(m) => { - materials.extend(m); - }, - Err(e) => { - error!("Failed to parse mtl file {:?}: {}", material_path, e); + for matlib in iter { + let material_path = obj_path.parent().unwrap().join(matlib); + let new_materials = parse_mtl(&material_path); + match new_materials { + Ok(m) => { + materials.extend(m); + }, + Err(e) => { + error!("Failed to parse mtl file {:?}: {}", material_path, e); + } } } }