@@ -390,6 +390,17 @@ def test_load_mtl(self):
390
390
)
391
391
)
392
392
393
+ def test_load_mtl_noload (self ):
394
+ DATA_DIR = (
395
+ Path (__file__ ).resolve ().parent .parent / "docs/tutorials/data"
396
+ )
397
+ obj_filename = "cow_mesh/cow.obj"
398
+ filename = os .path .join (DATA_DIR , obj_filename )
399
+ verts , faces , aux = load_obj (filename , load_textures = False )
400
+
401
+ self .assertTrue (aux .material_colors is None )
402
+ self .assertTrue (aux .texture_images is None )
403
+
393
404
def test_load_mtl_fail (self ):
394
405
# Faces have a material
395
406
obj_file = "\n " .join (
@@ -444,6 +455,27 @@ def test_load_obj_missing_texture(self):
444
455
self .assertTrue (torch .allclose (verts , expected_verts ))
445
456
self .assertTrue (torch .allclose (faces .verts_idx , expected_faces ))
446
457
458
+ def test_load_obj_missing_texture_noload (self ):
459
+ DATA_DIR = Path (__file__ ).resolve ().parent / "data"
460
+ obj_filename = "missing_files_obj/model.obj"
461
+ filename = os .path .join (DATA_DIR , obj_filename )
462
+ verts , faces , aux = load_obj (filename , load_textures = False )
463
+
464
+ expected_verts = torch .tensor (
465
+ [
466
+ [0.1 , 0.2 , 0.3 ],
467
+ [0.2 , 0.3 , 0.4 ],
468
+ [0.3 , 0.4 , 0.5 ],
469
+ [0.4 , 0.5 , 0.6 ],
470
+ ],
471
+ dtype = torch .float32 ,
472
+ )
473
+ expected_faces = torch .tensor ([[0 , 1 , 2 ], [0 , 1 , 3 ]], dtype = torch .int64 )
474
+ self .assertTrue (torch .allclose (verts , expected_verts ))
475
+ self .assertTrue (torch .allclose (faces .verts_idx , expected_faces ))
476
+ self .assertTrue (aux .material_colors is None )
477
+ self .assertTrue (aux .texture_images is None )
478
+
447
479
def test_load_obj_missing_mtl (self ):
448
480
DATA_DIR = Path (__file__ ).resolve ().parent / "data"
449
481
obj_filename = "missing_files_obj/model2.obj"
@@ -464,6 +496,27 @@ def test_load_obj_missing_mtl(self):
464
496
self .assertTrue (torch .allclose (verts , expected_verts ))
465
497
self .assertTrue (torch .allclose (faces .verts_idx , expected_faces ))
466
498
499
+ def test_load_obj_missing_mtl_noload (self ):
500
+ DATA_DIR = Path (__file__ ).resolve ().parent / "data"
501
+ obj_filename = "missing_files_obj/model2.obj"
502
+ filename = os .path .join (DATA_DIR , obj_filename )
503
+ verts , faces , aux = load_obj (filename , load_textures = False )
504
+
505
+ expected_verts = torch .tensor (
506
+ [
507
+ [0.1 , 0.2 , 0.3 ],
508
+ [0.2 , 0.3 , 0.4 ],
509
+ [0.3 , 0.4 , 0.5 ],
510
+ [0.4 , 0.5 , 0.6 ],
511
+ ],
512
+ dtype = torch .float32 ,
513
+ )
514
+ expected_faces = torch .tensor ([[0 , 1 , 2 ], [0 , 1 , 3 ]], dtype = torch .int64 )
515
+ self .assertTrue (torch .allclose (verts , expected_verts ))
516
+ self .assertTrue (torch .allclose (faces .verts_idx , expected_faces ))
517
+ self .assertTrue (aux .material_colors is None )
518
+ self .assertTrue (aux .texture_images is None )
519
+
467
520
@staticmethod
468
521
def save_obj_with_init (V : int , F : int ):
469
522
verts_list = torch .tensor (V * [[0.11 , 0.22 , 0.33 ]]).view (- 1 , 3 )
0 commit comments