From a9283e526feaab2b124d6634c0b20f390e41e2ad Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Sun, 25 Aug 2019 10:05:32 +0200 Subject: glTF exporter: Fix T68822 speedup pixel transfer from blender to numpy if more speed is needed, we will need to check API side --- io_scene_gltf2/__init__.py | 2 +- io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py | 2 +- io_scene_gltf2/blender/exp/gltf2_blender_image.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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) -- cgit v1.2.3