From bc41aaaaaaebe437c30d75b664e52836bed6939c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 1 Feb 2021 16:19:57 +0100 Subject: Overlay: Fix Z axis planes rendered even if not needed This remove some drawn completely transparent pixels. --- source/blender/draw/engines/overlay/overlay_grid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/engines/overlay/overlay_grid.c b/source/blender/draw/engines/overlay/overlay_grid.c index 988c35e387a..87aa013f03a 100644 --- a/source/blender/draw/engines/overlay/overlay_grid.c +++ b/source/blender/draw/engines/overlay/overlay_grid.c @@ -232,7 +232,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_vec3(grp, "gridSize", shd->grid_size, 1); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); - if (shd->zneg_flag) { + if (shd->zneg_flag & SHOW_AXIS_Z) { DRW_shgroup_call(grp, geom, NULL); } @@ -251,7 +251,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_vec3(grp, "planeAxes", shd->zplane_axes, 1); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); - if (shd->zpos_flag) { + if (shd->zpos_flag & SHOW_AXIS_Z) { DRW_shgroup_call(grp, geom, NULL); } -- cgit v1.2.3 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(-) 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