|
@@ -368,8 +368,11 @@ def parse_mtl(fname):
|
|
|
|
|
|
# Material start
|
|
# Material start
|
|
# newmtl identifier
|
|
# newmtl identifier
|
|
- if chunks[0] == "newmtl" and len(chunks) == 2:
|
|
|
|
- identifier = chunks[1]
|
|
|
|
|
|
+ if chunks[0] == "newmtl":
|
|
|
|
+ if len(chunks) > 1:
|
|
|
|
+ identifier = chunks[1]
|
|
|
|
+ else:
|
|
|
|
+ identifier = ""
|
|
if not identifier in materials:
|
|
if not identifier in materials:
|
|
materials[identifier] = {}
|
|
materials[identifier] = {}
|
|
|
|
|
|
@@ -490,6 +493,7 @@ def parse_obj(fname):
|
|
faces = []
|
|
faces = []
|
|
|
|
|
|
materials = {}
|
|
materials = {}
|
|
|
|
+ material = ""
|
|
mcounter = 0
|
|
mcounter = 0
|
|
mcurrent = 0
|
|
mcurrent = 0
|
|
|
|
|
|
@@ -536,7 +540,7 @@ def parse_obj(fname):
|
|
uv_index = []
|
|
uv_index = []
|
|
normal_index = []
|
|
normal_index = []
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
# Precompute vert / normal / uv lists
|
|
# Precompute vert / normal / uv lists
|
|
# for negative index lookup
|
|
# for negative index lookup
|
|
vertlen = len(vertices) + 1
|
|
vertlen = len(vertices) + 1
|
|
@@ -581,8 +585,11 @@ def parse_obj(fname):
|
|
mtllib = chunks[1]
|
|
mtllib = chunks[1]
|
|
|
|
|
|
# Material
|
|
# Material
|
|
- if chunks[0] == "usemtl" and len(chunks) == 2:
|
|
|
|
- material = chunks[1]
|
|
|
|
|
|
+ if chunks[0] == "usemtl":
|
|
|
|
+ if len(chunks) > 1:
|
|
|
|
+ material = chunks[1]
|
|
|
|
+ else:
|
|
|
|
+ material = ""
|
|
if not material in materials:
|
|
if not material in materials:
|
|
mcurrent = mcounter
|
|
mcurrent = mcounter
|
|
materials[material] = mcounter
|
|
materials[material] = mcounter
|