diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-22 17:43:02 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-22 17:43:02 +0300 |
commit | b0aaf6ff4a9731e9142d8cf32ebcc1a01a4f5cc8 (patch) | |
tree | ffef5c81a4fca262db965726149aabfdf1381767 /source/blender/io/collada | |
parent | 1c790555a02bfc37580465525234c68e9f09caab (diff) |
Fix T96294: Crash and error with shape key normal calculation
A mistake in the mesh normal refactor caused the wrong mesh to
be used when calculating normals with a shape key's deformation.
This commit fixes the normal calculation by using the correct mesh,
with just adjusted vertex positions, and calculating the results
directly into the result arrays when possible. This completely avoids
the need to make a local copy of the mesh, which makes sense,
since the only thing that changes is the vertex positions.
Differential Revision: https://developer.blender.org/D14317
Diffstat (limited to 'source/blender/io/collada')
-rw-r--r-- | source/blender/io/collada/GeometryExporter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/io/collada/GeometryExporter.cpp b/source/blender/io/collada/GeometryExporter.cpp index 2c9f16c7624..3b21d423df5 100644 --- a/source/blender/io/collada/GeometryExporter.cpp +++ b/source/blender/io/collada/GeometryExporter.cpp @@ -120,7 +120,7 @@ void GeometryExporter::operator()(Object *ob) /* skip the basis */ kb = kb->next; for (; kb; kb = kb->next) { - BKE_keyblock_convert_to_mesh(kb, me); + BKE_keyblock_convert_to_mesh(kb, me->mvert, me->totvert); export_key_mesh(ob, me, kb); } } |