diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-02-01 18:36:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-02-01 18:40:23 +0300 |
commit | d5d8655ca15c76d825c94627faae779bea3673d8 (patch) | |
tree | 1c7c4bed5e9f4fe1182b726376451afbc8f0eed7 | |
parent | bc41aaaaaaebe437c30d75b664e52836bed6939c (diff) |
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.
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_engine.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |