[Bf-blender-cvs] [f6fb695ed8b] blender-v2.83-release: Fix invalid polygon normal array access building bake data

Campbell Barton noreply at git.blender.org
Wed Jun 30 09:02:36 CEST 2021


Commit: f6fb695ed8b08d28f4d0f1a71c1b60cf15929393
Author: Campbell Barton
Date:   Fri Jun 18 17:36:14 2021 +1000
Branches: blender-v2.83-release
https://developer.blender.org/rBf6fb695ed8b08d28f4d0f1a71c1b60cf15929393

Fix invalid polygon normal array access building bake data

Pre computed normals index wasn't properly aligned.
Regression from 2ec00ea0c1be1ace7cd0c7b68e43cc8e87dd07c7.

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

M	source/blender/render/intern/source/bake_api.c

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

diff --git a/source/blender/render/intern/source/bake_api.c b/source/blender/render/intern/source/bake_api.c
index e823a481d59..6171277d150 100644
--- a/source/blender/render/intern/source/bake_api.c
+++ b/source/blender/render/intern/source/bake_api.c
@@ -471,7 +471,7 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval
     loop_normals = CustomData_get_layer(&me_eval->ldata, CD_NORMAL);
   }
 
-  const float *precomputed_normals = CustomData_get_layer(&me->pdata, CD_NORMAL);
+  const float(*precomputed_normals)[3] = CustomData_get_layer(&me->pdata, CD_NORMAL);
   const bool calculate_normal = precomputed_normals ? false : true;
 
   for (i = 0; i < tottri; i++) {
@@ -503,7 +503,7 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval
       copy_v3_v3(triangles[i].normal, no);
     }
     else {
-      copy_v3_v3(triangles[i].normal, &precomputed_normals[lt->poly]);
+      copy_v3_v3(triangles[i].normal, precomputed_normals[lt->poly]);
     }
   }



More information about the Bf-blender-cvs mailing list