From d5d8655ca15c76d825c94627faae779bea3673d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 1 Feb 2021 16:36:55 +0100 Subject: Fix T81843 Bones invisible using Weight Paint + Wireframe shading + Bone X-Ray This was caused by the paint overlay drawing after the infront pass. Moving the paint overlay before it fixes the issue. We might even do that for more mode overlays. --- source/blender/draw/engines/overlay/overlay_engine.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/blender/draw/engines') diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c index fc9ec7ecc22..e9736402ae7 100644 --- a/source/blender/draw/engines/overlay/overlay_engine.c +++ b/source/blender/draw/engines/overlay/overlay_engine.c @@ -598,6 +598,11 @@ static void OVERLAY_draw_scene(void *vedata) OVERLAY_xray_depth_infront_copy(vedata); + if (pd->ctx_mode == CTX_MODE_PAINT_WEIGHT) { + /* Fix weird case where weightpaint mode needs to draw before xray bones. */ + OVERLAY_paint_draw(vedata); + } + if (DRW_state_is_fbo()) { GPU_framebuffer_bind(fbl->overlay_in_front_fb); } @@ -648,7 +653,6 @@ static void OVERLAY_draw_scene(void *vedata) OVERLAY_paint_draw(vedata); OVERLAY_pose_draw(vedata); break; - case CTX_MODE_PAINT_WEIGHT: case CTX_MODE_PAINT_VERTEX: case CTX_MODE_PAINT_TEXTURE: OVERLAY_paint_draw(vedata); -- cgit v1.2.3