]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/mesh.py
Revise export function parameter orders
[libs/gl.git] / blender / io_mspgl / mesh.py
index 9741b8dd916f28495d3e25cde8fd64e767a7d118..3f9ab02e2bd3dabf8493088b114f398c77983659 100644 (file)
@@ -158,8 +158,8 @@ class Mesh:
                self.winding_test = mesh.winding_test
                self.smoothing = mesh.smoothing
                self.use_uv = mesh.use_uv
-               self.tangent_vecs = mesh.tangent_vecs
                self.tangent_uvtex = mesh.tangent_uvtex
+               self.use_strips = mesh.use_strips
                self.vertex_groups = mesh.vertex_groups
 
                # Clone basic data
@@ -229,6 +229,21 @@ class Mesh:
                else:
                        self.lines = []
 
+               # Check if tangent vectors are needed
+               if mesh.tangent_vecs=='NO':
+                       self.tangent_vecs = False
+               elif mesh.tangent_vecs=='YES':
+                       self.tangent_vecs = True
+               elif mesh.tangent_vecs=='AUTO':
+                       from .material import Material
+                       self.tangent_vecs = False
+                       for m in self.materials:
+                               mat = Material(m)
+                               if mat.type=="pbr":
+                                       normal_prop = next((p for p in mat.properties if p.tex_keyword=="normal_map"), None)
+                                       if normal_prop and normal_prop.texture:
+                                               self.tangent_vecs = True
+
                self.vertex_sequence = []
 
        def transform(self, matrix):
@@ -780,7 +795,7 @@ class Mesh:
                        e.key = make_edge_key(e.vertices[0].index, e.vertices[1].index)
 
 
-def create_mesh_from_object(context, obj, progress, *, material_atlas=None):
+def create_mesh_from_object(context, obj, material_atlas, progress):
        if obj.type!="MESH":
                raise Exception("Object is not a mesh")