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/?a=commitdiff_plain;h=386861effd5e84c1a3a8f58f50fc1b1f75dafaa1;p=libs%2Fgl.git 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()