From 842e817bf77830d003e466e8465e60d40517c782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 17 Apr 2020 21:08:34 +0200 Subject: Fix T73815 Overlay: Z axis line doesn't show alone on the workspace --- source/blender/draw/engines/overlay/overlay_grid.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/source/blender/draw/engines/overlay/overlay_grid.c b/source/blender/draw/engines/overlay/overlay_grid.c index 6f6ad36b4f8..858ccf02625 100644 --- a/source/blender/draw/engines/overlay/overlay_grid.c +++ b/source/blender/draw/engines/overlay/overlay_grid.c @@ -169,7 +169,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) psl->grid_ps = NULL; - if (shd->grid_flag == 0 || !DRW_state_is_fbo()) { + if ((shd->grid_flag == 0 && shd->zpos_flag == 0) || !DRW_state_is_fbo()) { return; } @@ -188,7 +188,9 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_float_copy(grp, "meshSize", shd->grid_mesh_size); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); - DRW_shgroup_call(grp, geom, NULL); + if (shd->zneg_flag) { + DRW_shgroup_call(grp, geom, NULL); + } grp = DRW_shgroup_create(sh, psl->grid_ps); DRW_shgroup_uniform_int(grp, "gridFlag", &shd->grid_flag, 1); @@ -196,14 +198,18 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); DRW_shgroup_uniform_float(grp, "gridSteps", shd->grid_steps, ARRAY_SIZE(shd->grid_steps)); - DRW_shgroup_call(grp, geom, NULL); + if (shd->grid_flag) { + DRW_shgroup_call(grp, geom, NULL); + } grp = DRW_shgroup_create(sh, psl->grid_ps); DRW_shgroup_uniform_int(grp, "gridFlag", &shd->zpos_flag, 1); 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); - DRW_shgroup_call(grp, geom, NULL); + if (shd->zpos_flag) { + DRW_shgroup_call(grp, geom, NULL); + } } void OVERLAY_grid_draw(OVERLAY_Data *vedata) -- cgit v1.2.3