[Bf-blender-cvs] [ecc395e473d] blender-v2.83-release: Fix T76902: face sets checkbox broken

Jeroen Bakker noreply at git.blender.org
Tue May 26 08:52:29 CEST 2020


Commit: ecc395e473d717e6f9f791a3daf12007a52eecbb
Author: Jeroen Bakker
Date:   Tue May 26 08:48:57 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBecc395e473d717e6f9f791a3daf12007a52eecbb

Fix T76902: face sets checkbox broken

Due to recent changes the face sets checkbox broke. The cause is that
{7d38f5036794} changed the responsibility of drawing and updating sculpt GPU
buffers to fix render glitches.

This patch moves the checkboxes evaluation to the overlay engine.

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

M	source/blender/draw/engines/overlay/overlay_engine.c

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

diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c
index e875f2c8291..586b99c14da 100644
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@ -46,6 +46,8 @@ static void OVERLAY_engine_init(void *vedata)
   const DRWContextState *draw_ctx = DRW_context_state_get();
   const RegionView3D *rv3d = draw_ctx->rv3d;
   const View3D *v3d = draw_ctx->v3d;
+  const Scene *scene = draw_ctx->scene;
+  const ToolSettings *ts = scene->toolsettings;
 
   if (!stl->pd) {
     /* Alloc transient pointers */
@@ -76,6 +78,12 @@ static void OVERLAY_engine_init(void *vedata)
   if (v3d->shading.type == OB_WIRE) {
     pd->overlay.flag |= V3D_OVERLAY_WIREFRAMES;
   }
+  if (ts->sculpt->flags & SCULPT_HIDE_FACE_SETS) {
+    pd->overlay.sculpt_mode_face_sets_opacity = 0.0f;
+  }
+  if (ts->sculpt->flags & SCULPT_HIDE_MASK) {
+    pd->overlay.sculpt_mode_mask_opacity = 0.0f;
+  }
 
   pd->use_in_front = (v3d->shading.type <= OB_SOLID) ||
                      BKE_scene_uses_blender_workbench(draw_ctx->scene);



More information about the Bf-blender-cvs mailing list