Fix T57517: multires displacement baking relative to smooth base mesh not working.

When baking relative to multires level 0, it would apply one level of simple
subdivision still, which gave artifacts.
This commit is contained in:
Brecht Van Lommel 2018-10-30 17:04:06 +01:00
parent 87f4c83018
commit e7811ce0c4
1 changed files with 11 additions and 11 deletions

View File

@ -230,21 +230,21 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
MultiresModifierData tmp_mmd = *mmd;
DerivedMesh *cddm = CDDM_from_mesh(me);
if (mmd->lvl > 0) {
*lvl = mmd->lvl;
}
else {
*lvl = 1;
tmp_mmd.simple = true;
}
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
tmp_mmd.lvl = *lvl;
tmp_mmd.sculptlvl = *lvl;
dm = multires_make_derived_from_derived(cddm, &tmp_mmd, scene, ob, 0);
if (mmd->lvl == 0) {
dm = CDDM_copy(cddm);
}
else {
tmp_mmd.lvl = mmd->lvl;
tmp_mmd.sculptlvl = mmd->lvl;
dm = multires_make_derived_from_derived(cddm, &tmp_mmd, scene, ob, 0);
}
cddm->release(cddm);
*lvl = mmd->lvl;
return dm;
}