in lib/render/mesh.py [0:0]
def read_mtlfile(fname):
materials = {}
with open(fname) as f:
lines = f.read().splitlines()
for line in lines:
if line:
split_line = line.strip().split(' ', 1)
if len(split_line) < 2:
continue
prefix, data = split_line[0], split_line[1]
if 'newmtl' in prefix:
material = {}
materials[data] = material
elif materials:
if data:
split_data = data.strip().split(' ')
# assume texture maps are in the same level
# WARNING: do not include space in your filename!!
if 'map' in prefix:
material[prefix] = split_data[-1].split('\\')[-1]
elif len(split_data) > 1:
material[prefix] = tuple(float(d) for d in split_data)
else:
try:
material[prefix] = int(data)
except ValueError:
material[prefix] = float(data)
return materials