[Bf-blender-cvs] [1cc3abca701] master: Fix T80768: Subdivision Surface modifier uses viewport subdivision settings when rendering in edit mode

Janusch Patas noreply at git.blender.org
Thu Oct 15 09:49:11 CEST 2020


Commit: 1cc3abca701775e0ddb0756a262df99b8e7a0276
Author: Janusch Patas
Date:   Thu Oct 15 09:32:13 2020 +0200
Branches: master
https://developer.blender.org/rB1cc3abca701775e0ddb0756a262df99b8e7a0276

Fix T80768: Subdivision Surface modifier uses viewport subdivision settings when rendering in edit mode

Being in render 'context'was not taken into account in code evaluating
modifiers for meshes in Edit mode.

Reviewed By: #modeling, mont29

Differential Revision: https://developer.blender.org/D9217

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

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

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

diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 88d8073b989..d551eaf04e4 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1488,8 +1488,10 @@ static void editbmesh_calc_modifiers(struct Depsgraph *depsgraph,
   /* Modifier evaluation modes. */
   const int required_mode = eModifierMode_Realtime | eModifierMode_Editmode;
 
+  const bool use_render = (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER);
   /* Modifier evaluation contexts for different types of modifiers. */
-  const ModifierEvalContext mectx = {depsgraph, ob, MOD_APPLY_USECACHE};
+  ModifierApplyFlag apply_render = use_render ? MOD_APPLY_RENDER : 0;
+  const ModifierEvalContext mectx = {depsgraph, ob, MOD_APPLY_USECACHE | apply_render};
   const ModifierEvalContext mectx_orco = {depsgraph, ob, MOD_APPLY_ORCO};
 
   /* Get effective list of modifiers to execute. Some effects like shape keys



More information about the Bf-blender-cvs mailing list