X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_object.py;h=a12474af94bbfe5505a0d7e8d2fd016b1774aebf;hb=169057d48d44846bc433753f20ee884204be9192;hp=0de98f8446a609692ccd527f8aeddc1bcd599da4;hpb=4fb7f344efbf1899cfc5d1dbcfc3d8c49c91600a;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_object.py b/blender/io_mspgl/export_object.py index 0de98f84..a12474af 100644 --- a/blender/io_mspgl/export_object.py +++ b/blender/io_mspgl/export_object.py @@ -6,6 +6,13 @@ def linear_to_srgb(l): else: return 1.055*(l**(1/2.4))-0.055 +def image_name(i): + fp = i.filepath + if fp: + return os.path.split(fp)[1] + else: + return i.name + class ObjectExporter: def __init__(self): @@ -43,7 +50,20 @@ class ObjectExporter: out_file.end() if self.external_tech and obj.technique: - out_file.write("technique", '"{}"'.format(obj.technique)) + if obj.inherit_tech and mesh.materials[0].texture_slots: + out_file.begin("technique") + out_file.begin("inherit", '"{}"'.format(obj.technique)) + for slot in mesh.materials[0].texture_slots: + if slot and slot.texture.type=="IMAGE": + name = image_name(slot.texture.image) + if slot.use_map_color_diffuse: + out_file.write("texture", '"diffuse_map"', '"{}"'.format(name)) + elif slot.use_map_normal: + out_file.write("texture", '"normal_map"', '"{}"'.format(name)) + out_file.end() + out_file.end() + else: + out_file.write("technique", '"{}"'.format(obj.technique)) elif self.separate_tech: path, base = os.path.split(out_file.filename) if self.shared_tech and mesh.materials: @@ -133,7 +153,7 @@ class ObjectExporter: out_file.write("raw_data", texdata) out_file.end() else: - out_file.write("texture", '"%s"'%tex.image.name) + out_file.write("texture", '"%s"'%image_name(tex.image)) out_file.end() out_file.end()