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:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-06-12 11:49:46 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-06-12 11:49:46 +0400
commit20550d6f7f33f2d1a2bcc043ae17b474bec85f66 (patch)
tree4ba0ee9f19cd7f3f9d4a7ae956496b8803e29943 /source/blender/modifiers
parentaed67dc8a43fe12f4b47a24fb0c23be798ae05b9 (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')
-rw-r--r--source/blender/modifiers/intern/MOD_multires.c6
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)