diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-06-12 11:49:46 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-06-12 11:49:46 +0400 |
commit | 20550d6f7f33f2d1a2bcc043ae17b474bec85f66 (patch) | |
tree | 4ba0ee9f19cd7f3f9d4a7ae956496b8803e29943 /source/blender/modifiers/intern/MOD_multires.c | |
parent | aed67dc8a43fe12f4b47a24fb0c23be798ae05b9 (diff) |
Fix T40582: issues with apply scale when having multires and scene simplify
Reshape and applying scale matrix on multires needs to create DM with simplify
setting disabled. Added a special flag to modifier apply for this now.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_multires.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_multires.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index c95cd96757f..deae10b5bcb 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -74,7 +74,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, MultiresModifierData *mmd = (MultiresModifierData *)md; DerivedMesh *result; Mesh *me = (Mesh *)ob->data; - const int useRenderParams = flag & MOD_APPLY_RENDER; + const bool useRenderParams = (flag & MOD_APPLY_RENDER) != 0; + const bool ignore_simplify = (flag & MOD_APPLY_IGNORE_SIMPLIFY) != 0; MultiresFlags flags = 0; const bool has_mask = CustomData_has_layer(&me->ldata, CD_GRID_PAINT_MASK); @@ -91,6 +92,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, if (useRenderParams) flags |= MULTIRES_USE_RENDER_PARAMS; + if (ignore_simplify) + flags |= MULTIRES_IGNORE_SIMPLIFY; + result = multires_make_derived_from_derived(dm, mmd, ob, flags); if (result == dm) |