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>2018-05-07 13:24:23 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-05-07 13:29:20 +0300
commit4e2125e967795f54eff1ee7df8ea99fdb0f966c6 (patch)
tree03fc303e5672b2679b13dfff1ceeb28dce024f0c /source/blender/blenkernel/intern/cdderivedmesh.c
parent68c55035708bb3b5b055a61c6727837a111eb524 (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.c5
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,