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:
2018-10-30 17:04:06 +01:00
parent 87f4c83018
commit e7811ce0c4

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;
}