[Bf-blender-cvs] [0d85be5] master: Fix T39950, part 2.

Antony Riakiotakis noreply at git.blender.org
Thu May 8 18:16:01 CEST 2014


Commit: 0d85be59506efebf7df691f80ed24d12c767b3ae
Author: Antony Riakiotakis
Date:   Thu May 8 19:15:36 2014 +0300
https://developer.blender.org/rB0d85be59506efebf7df691f80ed24d12c767b3ae

Fix T39950, part 2.

Warn when a modifier does not support optimal drawing and mask/hidden
parts display.

User report was that hidden parts became visible after adding a new
modifier subdivision. Subdivision was added with the Ctrl+number keys.
First part of the fix was to make sure we add a multires instead of the
subsurf modifier in sculpt mode with the PageUp/Down Ctrl+number keys.

We can't really stop users from having added a subsurf modifier already.
We could be "smart" and convert subsurf to mulrires upon entering sculpt
mode maybe but that can easily backfire - or users may actually want
that. For now, just warn that the modifier won't support Hiding/Masking
and optimal drawing.

===================================================================

M	source/blender/blenkernel/intern/DerivedMesh.c

===================================================================

diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 72e39fb..43ee33e 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1593,7 +1593,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
 			continue;
 		}
 		if (sculpt_mode &&
-		    (!has_multires || multires_applied || ob->sculpt->bm))
+			(!has_multires || multires_applied || sculpt_dyntopo))
 		{
 			bool unsupported = false;
 
@@ -1614,6 +1614,9 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
 				modifier_setError(md, "Not supported in sculpt mode");
 				continue;
 			}
+			else {
+				modifier_setError(md, "Hide, Mask and optimized display disabled");
+			}
 		}
 		if (needMapping && !modifier_supportsMapping(md)) continue;
 		if (useDeform < 0 && mti->dependsOnTime && mti->dependsOnTime(md)) continue;




More information about the Bf-blender-cvs mailing list