diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-06-22 20:46:13 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-06-22 20:46:13 +0400 |
commit | c28aec9ae11c4b68406cf74fa9ac228886cdb376 (patch) | |
tree | e038fc8a0f848a08d879cbbfa933541bc0a7fe51 /source/blender/blenkernel/intern | |
parent | f3a2d24d8f267ee6f52297d1ec04b1f2d8e1d472 (diff) |
Fix #22589: pressing subdivide or updating displacements after sculpting
on multire would unnecessarily subdivide vertex groups and other layers,
making the operation slower than necessary.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/multires.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index aab9f2a0935..76d82889cda 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -459,6 +459,7 @@ void multiresModifier_subdivide(MultiresModifierData *mmd, Object *ob, int updat /* create subsurf DM from original mesh at high level */ cddm = CDDM_from_mesh(me, NULL); + DM_set_only_copy(cddm, CD_MASK_BAREMESH); highdm = subsurf_dm_create_local(ob, cddm, totlvl, simple, 0); /* create multires DM from original mesh at low level */ @@ -656,6 +657,7 @@ static void multiresModifier_update(DerivedMesh *dm) /* create subsurf DM from original mesh at high level */ if (ob->derivedDeform) cddm = CDDM_copy(ob->derivedDeform); else cddm = CDDM_from_mesh(me, NULL); + DM_set_only_copy(cddm, CD_MASK_BAREMESH); highdm = subsurf_dm_create_local(ob, cddm, totlvl, mmd->simple, 0); @@ -709,6 +711,7 @@ static void multiresModifier_update(DerivedMesh *dm) if (ob->derivedDeform) cddm = CDDM_copy(ob->derivedDeform); else cddm = CDDM_from_mesh(me, NULL); + DM_set_only_copy(cddm, CD_MASK_BAREMESH); subdm = subsurf_dm_create_local(ob, cddm, mmd->totlvl, mmd->simple, 0); cddm->release(cddm); |