[Bf-extensions-cvs] [a9283e52] master: glTF exporter: Fix T68822 speedup pixel transfer from blender to numpy

Julien Duroure noreply at git.blender.org
Sun Aug 25 10:06:43 CEST 2019


Commit: a9283e526feaab2b124d6634c0b20f390e41e2ad
Author: Julien Duroure
Date:   Sun Aug 25 10:05:32 2019 +0200
Branches: master
https://developer.blender.org/rBAa9283e526feaab2b124d6634c0b20f390e41e2ad

glTF exporter: Fix T68822 speedup pixel transfer from blender to numpy

if more speed is needed, we will need to check API side

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

M	io_scene_gltf2/__init__.py
M	io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py
M	io_scene_gltf2/blender/exp/gltf2_blender_image.py

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

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 2dc1cbf4..7c81f830 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, 51),
+    "version": (0, 9, 52),
     'blender': (2, 80, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py
index a92de291..9f322f10 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py
@@ -148,7 +148,7 @@ def __get_image_data(sockets_or_slots, export_settings) -> gltf2_blender_image.E
         if image.name in channelcache:
             return channelcache[image.name]
 
-        pixels = np.array(image.pixels)
+        pixels = np.array(image.pixels[:])
         pixels = pixels.reshape((pixels.shape[0] // image.channels, image.channels))
         channels = np.split(pixels, pixels.shape[1], axis=1)
 
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_image.py b/io_scene_gltf2/blender/exp/gltf2_blender_image.py
index 707feb91..828b07fe 100644
--- a/io_scene_gltf2/blender/exp/gltf2_blender_image.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_image.py
@@ -46,7 +46,7 @@ class ExportImage:
 
     @classmethod
     def from_blender_image(cls, blender_image: bpy.types.Image):
-        img = np.array(blender_image.pixels)
+        img = np.array(blender_image.pixels[:])
         img = img.reshape((blender_image.size[0], blender_image.size[1], blender_image.channels))
         has_alpha = blender_image.depth == 32
         return ExportImage(img=img, blender_image=blender_image, has_alpha=has_alpha)



More information about the Bf-extensions-cvs mailing list