From 386861effd5e84c1a3a8f58f50fc1b1f75dafaa1 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Sun, 12 May 2019 09:59:53 +0300 Subject: [PATCH] Only use texunit zero in exporter-generated techniques It does not make much sense to use anything else without shaders, and accessing the mesh to find out unit numbers is getting in the way of some other changes. --- blender/io_mspgl/export_object.py | 32 ++++++++++--------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/blender/io_mspgl/export_object.py b/blender/io_mspgl/export_object.py index 84c0a781..abe33630 100644 --- a/blender/io_mspgl/export_object.py +++ b/blender/io_mspgl/export_object.py @@ -159,11 +159,7 @@ class ObjectExporter: out_file.begin("material") out_file.write("diffuse", 1.0, 1.0, 1.0, 1.0) out_file.end() - index = 0 - for u in mesh.uv_layers: - if u.name=="material_tex": - index = u.unit - out_file.begin("texunit", index) + out_file.begin("texunit", 0) out_file.begin("texture2d") out_file.write("min_filter", "NEAREST") out_file.write("mag_filter", "NEAREST") @@ -183,34 +179,26 @@ class ObjectExporter: out_file.end() if self.textures!="NONE": + diffuse_tex = None for slot in material.texture_slots: - if not slot: - continue + if slot and slot.texture.type=="IMAGE" and slot.use_map_color_diffuse: + diffuse_tex = slot.texture + break - tex = slot.texture - if tex.type!="IMAGE": - continue - - if slot.uv_layer: - for u in mesh.uv_layers: - if u.name==slot.uv_layer: - index = u.unit - else: - index = mesh.uv_layers[0].unit - - out_file.begin("texunit", index) + if diffuse_tex: + out_file.begin("texunit", 0) if self.textures=="INLINE": out_file.begin("texture2d") out_file.write("min_filter", "LINEAR") - out_file.write("storage", "RGBA", tex.image.size[0], tex.image.size[1]) + out_file.write("storage", "RGBA", diffuse_tex.image.size[0], diffuse_tex.image.size[1]) texdata = '"' - for p in tex.image.pixels: + for p in diffuse_tex.image.pixels: texdata += "\\x%02X"%int(p*255) texdata += '"' out_file.write("raw_data", texdata) out_file.end() else: - out_file.write("texture", '"%s"'%image_name(tex.image)) + out_file.write("texture", '"%s"'%image_name(diffuse_tex.image)) out_file.end() out_file.end() -- 2.45.2