From 4e2125e967795f54eff1ee7df8ea99fdb0f966c6 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 7 May 2018 12:24:23 +0200 Subject: [PATCH] Modifier stack: Fix broken 'dirty normals' flag for new mesh-aware modifiers. Since modifier stack is still primarily based on DM in blender2.8, we need to copy over 'dirty normals' flag from temp Mesh to DM after modifier has been evaluated. --- source/blender/blenkernel/intern/cdderivedmesh.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 4d91d99b022..46dd376e065 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -611,6 +611,11 @@ DerivedMesh *CDDM_from_mesh_ex(Mesh *mesh, int alloctype) dm->deformedOnly = 1; dm->cd_flag = mesh->cd_flag; + if (mesh->runtime.cd_dirty_vert & CD_MASK_NORMAL) { + dm->dirty |= DM_DIRTY_NORMALS; + } + /* TODO DM_DIRTY_TESS_CDLAYERS ? Maybe not though, since we probably want to switch to looptris ? */ + CustomData_merge(&mesh->vdata, &dm->vertData, mask, alloctype, mesh->totvert); CustomData_merge(&mesh->edata, &dm->edgeData, mask, alloctype,