From: Mikko Rasa Date: Sun, 12 May 2019 06:59:53 +0000 (+0300) Subject: Only use texunit zero in exporter-generated techniques X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=commitdiff_plain;h=386861effd5e84c1a3a8f58f50fc1b1f75dafaa1 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. --- 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()