Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/physics')
-rw-r--r--source/blender/editors/physics/particle_edit.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index f1e6f02cb39..ea35ad6dcd0 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -1463,26 +1463,28 @@ void recalc_emitter_field(Depsgraph *UNUSED(depsgraph), Object *UNUSED(ob), Part
vec = edit->emitter_cosnos;
nor = vec + 3;
+ const float(*vert_normals)[3] = BKE_mesh_vertex_normals_ensure(mesh);
+
for (i = 0; i < totface; i++, vec += 6, nor += 6) {
MFace *mface = &mesh->mface[i];
MVert *mvert;
mvert = &mesh->mvert[mface->v1];
copy_v3_v3(vec, mvert->co);
- copy_v3fl_v3s(nor, mvert->no);
+ copy_v3_v3(nor, vert_normals[mface->v1]);
mvert = &mesh->mvert[mface->v2];
add_v3_v3v3(vec, vec, mvert->co);
- add_v3fl_v3fl_v3s(nor, nor, mvert->no);
+ add_v3_v3(nor, vert_normals[mface->v2]);
mvert = &mesh->mvert[mface->v3];
add_v3_v3v3(vec, vec, mvert->co);
- add_v3fl_v3fl_v3s(nor, nor, mvert->no);
+ add_v3_v3(nor, vert_normals[mface->v3]);
if (mface->v4) {
mvert = &mesh->mvert[mface->v4];
add_v3_v3v3(vec, vec, mvert->co);
- add_v3fl_v3fl_v3s(nor, nor, mvert->no);
+ add_v3_v3(nor, vert_normals[mface->v4]);
mul_v3_fl(vec, 0.25);
}