X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fmesh.py;h=3f9ab02e2bd3dabf8493088b114f398c77983659;hb=f241ccca7d0d3f3073a948377bd557a70aa8f1d2;hp=9741b8dd916f28495d3e25cde8fd64e767a7d118;hpb=86721a55699193e63c76e8a0a7b0ced0416c1cce;p=libs%2Fgl.git diff --git a/blender/io_mspgl/mesh.py b/blender/io_mspgl/mesh.py index 9741b8dd..3f9ab02e 100644 --- a/blender/io_mspgl/mesh.py +++ b/blender/io_mspgl/mesh.py @@ -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")