[Bf-blender-cvs] [d507e597dd2] temp-vert-normals-cleanup: Cleanup

Hans Goudey noreply at git.blender.org
Mon Nov 8 05:30:17 CET 2021


Commit: d507e597dd21e5670b3b6aae91b80229baf91b36
Author: Hans Goudey
Date:   Sun Nov 7 22:30:10 2021 -0600
Branches: temp-vert-normals-cleanup
https://developer.blender.org/rBd507e597dd21e5670b3b6aae91b80229baf91b36

Cleanup

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

M	source/blender/blenkernel/intern/mesh_convert.cc
M	source/blender/makesrna/intern/rna_mesh.c
M	source/blender/modifiers/intern/MOD_wave.c
M	source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc

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

diff --git a/source/blender/blenkernel/intern/mesh_convert.cc b/source/blender/blenkernel/intern/mesh_convert.cc
index fc387e060c4..4addc81bcf6 100644
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@ -100,8 +100,6 @@ void BKE_mesh_from_metaball(ListBase *lb, Mesh *me)
     allloop = mloop = (MLoop *)CustomData_add_layer(
         &me->ldata, CD_MLOOP, CD_CALLOC, nullptr, dl->parts * 4);
     mpoly = (MPoly *)CustomData_add_layer(&me->pdata, CD_MPOLY, CD_CALLOC, nullptr, dl->parts);
-    float(*vert_normals)[3] = BKE_mesh_vertex_normals_for_write(me);
-
     me->mvert = mvert;
     me->mloop = mloop;
     me->mpoly = mpoly;
@@ -110,7 +108,6 @@ void BKE_mesh_from_metaball(ListBase *lb, Mesh *me)
 
     for (const int i : IndexRange(dl->nr)) {
       copy_v3_v3(me->mvert[i].co, &dl->verts[3 * i]);
-      copy_v3_v3(vert_normals[i], &dl->nors[3 * i]);
     }
 
     a = dl->parts;
@@ -137,7 +134,7 @@ void BKE_mesh_from_metaball(ListBase *lb, Mesh *me)
 
     BKE_mesh_update_customdata_pointers(me, true);
 
-    BKE_mesh_calc_normals(me);
+    BKE_mesh_normals_tag_dirty(me);
 
     BKE_mesh_calc_edges(me, true, false);
   }
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 17e6c7ea1a0..3e43bedfdcd 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -322,6 +322,7 @@ static void rna_MeshVertex_normal_get(PointerRNA *ptr, float *value)
 
   const int index = (MVert *)ptr->data - mesh->mvert;
   BLI_assert(index >= 0);
+  BLI_assert(index < mesh->totvert);
 
   copy_v3_v3(value, vert_normals[index]);
 }
@@ -329,11 +330,11 @@ static void rna_MeshVertex_normal_get(PointerRNA *ptr, float *value)
 static void rna_MeshVertex_normal_set(PointerRNA *ptr, const float *value)
 {
   Mesh *mesh = rna_mesh(ptr);
-  float(*vert_normals)[3] = (float(*)[3])CustomData_add_layer(
-      &mesh->vdata, CD_NORMAL, CD_DEFAULT, NULL, mesh->totvert);
+  float(*vert_normals)[3] = BKE_mesh_vertex_normals_for_write(mesh);
 
   const int index = (MVert *)ptr->data - mesh->mvert;
   BLI_assert(index >= 0);
+  BLI_assert(index < mesh->totvert);
 
   copy_v3_v3(vert_normals[index], value);
 }
diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c
index 9a7affba7ed..7378f080756 100644
--- a/source/blender/modifiers/intern/MOD_wave.c
+++ b/source/blender/modifiers/intern/MOD_wave.c
@@ -290,13 +290,13 @@ static void waveModifier_do(WaveModifierData *md,
         if (mvert) {
           /* move along normals */
           if (wmd->flag & MOD_WAVE_NORM_X) {
-            co[0] += (lifefac * amplit) * vert_normals[i][0] / 32767.0f;
+            co[0] += (lifefac * amplit) * vert_normals[i][0];
           }
           if (wmd->flag & MOD_WAVE_NORM_Y) {
-            co[1] += (lifefac * amplit) * vert_normals[i][1] / 32767.0f;
+            co[1] += (lifefac * amplit) * vert_normals[i][1];
           }
           if (wmd->flag & MOD_WAVE_NORM_Z) {
-            co[2] += (lifefac * amplit) * vert_normals[i][2] / 32767.0f;
+            co[2] += (lifefac * amplit) * vert_normals[i][2];
           }
         }
         else {
diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
index d0b5666b23d..acef74c02be 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
@@ -139,10 +139,6 @@ static Mesh *create_circle_mesh(const float radius,
     copy_v3_v3(verts.last().co, float3(0));
   }
 
-  /* Fill vertex normal data here since it is trivial and can avoid calculations later. */
-  MutableSpan vert_normals{(float3 *)BKE_mesh_vertex_normals_for_write(mesh), mesh->totvert};
-  vert_normals.fill(float3(0.0f, 0.0f, 1.0f));
-
   /* Create outer edges. */
   const short edge_flag = (fill_type == GEO_NODE_MESH_CIRCLE_FILL_NONE) ?
                               ME_LOOSEEDGE :



More information about the Bf-blender-cvs mailing list