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.
This commit is contained in:
Bastien Montagne 2019-03-07 16:23:58 +01:00
parent 75dad2a04b
commit 605749ffaa
Notes: blender-bot 2023-02-14 11:42:40 +01:00
Referenced by issue #63660, Data Transfer No Longer Working
Referenced by issue #62228, Data Transfer Modifier
1 changed files with 4 additions and 2 deletions

View File

@ -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);