[Bf-extensions-cvs] [0dbe1269] master: glTF importer: perf improvment when accessor is shared by multiple primitives

Julien Duroure noreply at git.blender.org
Fri Sep 27 19:33:39 CEST 2019


Commit: 0dbe12696971b4040b44ed9e968f95d55a4e60ae
Author: Julien Duroure
Date:   Fri Sep 27 19:33:08 2019 +0200
Branches: master
https://developer.blender.org/rBA0dbe12696971b4040b44ed9e968f95d55a4e60ae

glTF importer: perf improvment when accessor is shared by multiple primitives

===================================================================

M	io_scene_gltf2/__init__.py
M	io_scene_gltf2/blender/imp/gltf2_blender_primitive.py

===================================================================

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 56732ad4..de979ec6 100755
--- a/io_scene_gltf2/__init__.py
+++ b/io_scene_gltf2/__init__.py
@@ -15,7 +15,7 @@
 bl_info = {
     'name': 'glTF 2.0 format',
     'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
-    "version": (0, 9, 78),
+    "version": (0, 9, 79),
     'blender': (2, 81, 6),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
index 455cbc18..dcdd0ac8 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
@@ -70,12 +70,14 @@ class BlenderPrimitive():
         # unused)
         pidx_to_bidx = [-1] * len(positions)
         bidx = len(bme_verts)
-        for pidx in range(0, len(positions)):
-            if pidx in used_pidxs:
-                bme_verts.new(positions[pidx])
-                vert_idxs.append((bidx, pidx))
-                pidx_to_bidx[pidx] = bidx
-                bidx += 1
+        if bpy.app.debug:
+            used_pidxs = list(used_pidxs)
+            used_pidxs.sort()
+        for pidx in used_pidxs:
+            bme_verts.new(positions[pidx])
+            vert_idxs.append((bidx, pidx))
+            pidx_to_bidx[pidx] = bidx
+            bidx += 1
         bme_verts.ensure_lookup_table()
 
         # Add edges/faces to bmesh



More information about the Bf-extensions-cvs mailing list