From 947dc272c06ea88252eef9d663606a28741b146d Mon Sep 17 00:00:00 2001 From: Stephen Mather Date: Thu, 7 Aug 2025 07:57:25 -0400 Subject: [PATCH] correct logic for gltf/single texture combo --- stages/mvstex.py | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/stages/mvstex.py b/stages/mvstex.py index 6b4b64b12..92d15e121 100644 --- a/stages/mvstex.py +++ b/stages/mvstex.py @@ -129,6 +129,8 @@ def add_run(nvm_file, primary=True, band=None): if r['primary'] and (not r['nadir'] or args.skip_3dmodel): # GlTF? if args.gltf: + if args.texturing_single_material: + log.ODM_WARNING("Not generating single material as glTF is also requested.") log.ODM_INFO("Generating glTF Binary") odm_textured_model_glb = os.path.join(r['out_dir'], tree.odm_textured_model_glb) @@ -136,27 +138,26 @@ def add_run(nvm_file, primary=True, band=None): obj2glb(odm_textured_model_obj, odm_textured_model_glb, rtc=reconstruction.get_proj_offset(), _info=log.ODM_INFO) except Exception as e: log.ODM_WARNING(str(e)) - - # Single material? - if args.texturing_single_material: - log.ODM_INFO("Packing to single material") - - packed_dir = os.path.join(r['out_dir'], 'packed') - if io.dir_exists(packed_dir): - log.ODM_INFO("Removing old packed directory {}".format(packed_dir)) - shutil.rmtree(packed_dir) + else: + # Single material? + if args.texturing_single_material: + log.ODM_INFO("Packing to single material") + + packed_dir = os.path.join(r['out_dir'], 'packed') + if io.dir_exists(packed_dir): + log.ODM_INFO("Removing old packed directory {}".format(packed_dir)) + shutil.rmtree(packed_dir) - try: - obj_pack(os.path.join(r['out_dir'], tree.odm_textured_model_obj), packed_dir, _info=log.ODM_INFO) + try: + obj_pack(os.path.join(r['out_dir'], tree.odm_textured_model_obj), packed_dir, _info=log.ODM_INFO) - # Move packed/* into texturing folder - system.delete_files(r['out_dir'], (".vec", )) - system.move_files(packed_dir, r['out_dir']) - if os.path.isdir(packed_dir): - os.rmdir(packed_dir) - except Exception as e: - log.ODM_WARNING(str(e)) - + # Move packed/* into texturing folder + system.delete_files(r['out_dir'], (".vec", )) + system.move_files(packed_dir, r['out_dir']) + if os.path.isdir(packed_dir): + os.rmdir(packed_dir) + except Exception as e: + log.ODM_WARNING(str(e)) # Backward compatibility: copy odm_textured_model_geo.mtl to odm_textured_model.mtl # for certain older WebODM clients which expect a odm_textured_model.mtl