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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2010-06-22 20:46:13 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-06-22 20:46:13 +0400
commitc28aec9ae11c4b68406cf74fa9ac228886cdb376 (patch)
treee038fc8a0f848a08d879cbbfa933541bc0a7fe51 /source/blender/blenkernel/intern
parentf3a2d24d8f267ee6f52297d1ec04b1f2d8e1d472 (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.c3
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);