diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-09-17 18:24:44 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-09-17 20:20:08 +0300 |
commit | 3009429c9045f70a199d6568a79b2dcbad78d095 (patch) | |
tree | 54adf1982b36ee7d7fdb4c6b3f786d76972c5bbc /source/blender/editors/object | |
parent | 884a3852873f392c1678a1142005da69d0e4cb32 (diff) |
Fix T69809, T69810: sculpt gone or crashing after render
Make a distinction between flush sculpt changes for rendering, and forcing
sculpt data structures to be rebuilt after mesh changes. Also don't use PBVH
for renders.
Diffstat (limited to 'source/blender/editors/object')
-rw-r--r-- | source/blender/editors/object/object_bake.c | 4 | ||||
-rw-r--r-- | source/blender/editors/object/object_modifier.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c index 70a9870e6ae..bc79521ee9b 100644 --- a/source/blender/editors/object/object_bake.c +++ b/source/blender/editors/object/object_bake.c @@ -371,7 +371,7 @@ static int multiresbake_image_exec_locked(bContext *C, wmOperator *op) ob = base->object; - multires_force_update(ob); + multires_flush_sculpt_updates(ob); /* copy data stored in job descriptor */ bkr.scene = scene; @@ -435,7 +435,7 @@ static void init_multiresbake_job(bContext *C, MultiresBakeJob *bkj) ob = base->object; - multires_force_update(ob); + multires_flush_sculpt_updates(ob); data = MEM_callocN(sizeof(MultiresBakerJobData), "multiresBaker derivedMesh_data"); diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 88d01936882..c437f00684d 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -677,7 +677,7 @@ static int modifier_apply_obdata( /* Multires: ensure that recent sculpting is applied */ if (md_eval->type == eModifierType_Multires) { - multires_force_update(ob); + multires_force_sculpt_rebuild(ob); } if (mmd && mmd->totlvl && mti->type == eModifierTypeType_OnlyDeform) { |