[Bf-blender-cvs] [6c1fdd52c12] master: Fix invalid polygon normal array access building bake data

Campbell Barton noreply at git.blender.org
Fri Jun 18 10:02:35 CEST 2021


Commit: 6c1fdd52c12d0d8bc1e58873286c22d3693a042f
Author: Campbell Barton
Date:   Fri Jun 18 17:36:14 2021 +1000
Branches: master
https://developer.blender.org/rB6c1fdd52c12d0d8bc1e58873286c22d3693a042f

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/bake.c

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

diff --git a/source/blender/render/intern/bake.c b/source/blender/render/intern/bake.c
index 7af6d3e234f..416d85ce1a3 100644
--- a/source/blender/render/intern/bake.c
+++ b/source/blender/render/intern/bake.c
@@ -479,7 +479,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++) {
@@ -511,7 +511,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