[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