[Bf-blender-cvs] [4e2125e9677] blender2.8: Modifier stack: Fix broken 'dirty normals' flag for new mesh-aware modifiers.

Bastien Montagne noreply at git.blender.org
Mon May 7 12:29:27 CEST 2018


Commit: 4e2125e967795f54eff1ee7df8ea99fdb0f966c6
Author: Bastien Montagne
Date:   Mon May 7 12:24:23 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB4e2125e967795f54eff1ee7df8ea99fdb0f966c6

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.

===================================================================

M	source/blender/blenkernel/intern/cdderivedmesh.c

===================================================================

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,



More information about the Bf-blender-cvs mailing list