[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