From 20550d6f7f33f2d1a2bcc043ae17b474bec85f66 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 12 Jun 2014 13:49:46 +0600 Subject: 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. --- source/blender/modifiers/intern/MOD_multires.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers') 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) -- cgit v1.2.3