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:
authorBastien Montagne <montagne29@wanadoo.fr>2019-03-07 18:23:58 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2019-03-07 18:25:25 +0300
commit605749ffaaa1dc004eb8595c2b5c3bad00f2bb34 (patch)
tree0bb44f509843d91330f5a8273c38535d15f25c27 /source/blender/blenkernel/intern/DerivedMesh.c
parent75dad2a04b23c8848f9ade4ad70b7c352bdcdb94 (diff)
Modifiers Evaluation: generate loop normals when requested.
This also fixes T62228. However, datatransfer code is still doing bad things with its source, still working on proper changes here.
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index a3f89d65c5a..1fe72ce95a7 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1176,7 +1176,8 @@ static void mesh_calc_modifiers(
/* Generic preview only in object mode! */
const bool do_mod_mcol = (ob->mode == OB_MODE_OBJECT);
- const bool do_loop_normals = (((Mesh *)ob->data)->flag & ME_AUTOSMOOTH) != 0;
+ const bool do_loop_normals = ((((Mesh *)ob->data)->flag & ME_AUTOSMOOTH) != 0 ||
+ (dataMask->lmask & CD_MASK_NORMAL) != 0);
VirtualModifierData virtualModifierData;
@@ -1705,7 +1706,8 @@ static void editbmesh_calc_modifiers(
const ModifierEvalContext mectx_orco = {depsgraph, ob, MOD_APPLY_ORCO};
const ModifierEvalContext mectx_cache = {depsgraph, ob, MOD_APPLY_USECACHE};
- const bool do_loop_normals = (((Mesh *)(ob->data))->flag & ME_AUTOSMOOTH) != 0;
+ const bool do_loop_normals = ((((Mesh *)(ob->data))->flag & ME_AUTOSMOOTH) != 0 ||
+ (dataMask->lmask & CD_MASK_NORMAL) != 0);
modifiers_clearErrors(ob);