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@gmail.com>2018-10-30 19:04:06 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-10-30 19:15:32 +0300
commite7811ce0c41652525545989bb1dfce1c8ab2b46b (patch)
tree1ee7301afb71b9912807468b121d9bc2e69ba880 /source/blender/editors/object/object_bake.c
parent87f4c830180d0590c62eece483f2231e01dea4b2 (diff)
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.
Diffstat (limited to 'source/blender/editors/object/object_bake.c')
-rw-r--r--source/blender/editors/object/object_bake.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 8ad0d09a9fb..5a650d9dc05 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -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;
+ DM_set_only_copy(cddm, CD_MASK_BAREMESH);
+
+ if (mmd->lvl == 0) {
+ dm = CDDM_copy(cddm);
}
else {
- *lvl = 1;
- tmp_mmd.simple = true;
+ tmp_mmd.lvl = mmd->lvl;
+ tmp_mmd.sculptlvl = mmd->lvl;
+ dm = multires_make_derived_from_derived(cddm, &tmp_mmd, scene, ob, 0);
}
- 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);
cddm->release(cddm);
+ *lvl = mmd->lvl;
+
return dm;
}