diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-07 13:24:23 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-07 13:29:20 +0300 |
commit | 4e2125e967795f54eff1ee7df8ea99fdb0f966c6 (patch) | |
tree | 03fc303e5672b2679b13dfff1ceeb28dce024f0c /source/blender/blenkernel/intern/cdderivedmesh.c | |
parent | 68c55035708bb3b5b055a61c6727837a111eb524 (diff) |
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.
Diffstat (limited to 'source/blender/blenkernel/intern/cdderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 5 |
1 files changed, 5 insertions, 0 deletions
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, |