]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/export_mesh.py
Add properties to export materials as texture array layers
[libs/gl.git] / blender / io_mspgl / export_mesh.py
index 07f457a1e36720c06ee27475fd4176924f07a669..1652c1a494756eec3c772718b01897297046e444 100644 (file)
@@ -230,7 +230,10 @@ class MeshExporter:
 
                mesh = None
                bmeshes = []
+               winding_test = False
                for o, m in objs:
+                       if o.data.winding_test:
+                               winding_test = True
                        bmesh = o.to_mesh(context.scene, True, "PREVIEW")
                        bmeshes.append(bmesh)
                        me = Mesh(bmesh)
@@ -318,10 +321,11 @@ class MeshExporter:
                fmt = ["NORMAL3"]
                if texunits:
                        for i, u in texunits:
+                               size = str(len(mesh.vertices[0].uvs[i]))
                                if u.unit==0 or force_unit0:
-                                       fmt.append("TEXCOORD2")
+                                       fmt.append("TEXCOORD"+size)
                                else:
-                                       fmt.append("TEXCOORD2_%d"%u.unit)
+                                       fmt.append("TEXCOORD%s_%d"%(size, u.unit))
                        if self.tbn_vecs:
                                fmt += ["TANGENT3", "BINORMAL3"]
                if self.export_groups:
@@ -339,10 +343,11 @@ class MeshExporter:
                                normal = v.normal
                        for i, u in texunits:
                                if v.uvs[i]!=uvs.get(i):
+                                       size = str(len(v.uvs[i]))
                                        if u.unit==0 or force_unit0:
-                                               out_file.write("texcoord2", *v.uvs[i])
+                                               out_file.write("texcoord"+size, *v.uvs[i])
                                        else:
-                                               out_file.write("multitexcoord2", u.unit, *v.uvs[i])
+                                               out_file.write("multitexcoord"+size, u.unit, *v.uvs[i])
                                        uvs[i] = v.uvs[i]
                        if self.tbn_vecs:
                                if v.tan!=tan:
@@ -387,6 +392,9 @@ class MeshExporter:
                                out_file.write("indices", l.vertices[0].index, l.vertices[1].index)
                        out_file.end()
 
+               if winding_test:
+                       out_file.write("winding", "COUNTERCLOCKWISE")
+
                if progress:
                        progress.set_task("Done", 1.0, 1.0)