Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_extract.py')
-rwxr-xr-xio_scene_gltf2/blender/exp/gltf2_blender_extract.py13
1 files changed, 3 insertions, 10 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py
index d677cba8..d4f34126 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py
@@ -526,18 +526,11 @@ def __get_uvs(blender_mesh, uv_i):
def __get_colors(blender_mesh, color_i):
- layer = blender_mesh.vertex_colors[color_i]
colors = np.empty(len(blender_mesh.loops) * 4, dtype=np.float32)
- layer.data.foreach_get('color', colors)
+ layer = blender_mesh.vertex_colors[color_i]
+ blender_mesh.color_attributes[layer.name].data.foreach_get('color', colors)
colors = colors.reshape(len(blender_mesh.loops), 4)
-
- # sRGB -> Linear
- rgb = colors[:, :-1]
- not_small = rgb >= 0.04045
- small_result = np.where(rgb < 0.0, 0.0, rgb * (1.0 / 12.92))
- large_result = np.power((rgb + 0.055) * (1.0 / 1.055), 2.4, where=not_small)
- rgb[:] = np.where(not_small, large_result, small_result)
-
+ # colors are already linear, no need to switch color space
return colors