diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-04-17 22:08:34 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-04-17 22:08:34 +0300 |
commit | 842e817bf77830d003e466e8465e60d40517c782 (patch) | |
tree | d3531000570b5b83fb25d61180e24beccfd08874 /source/blender/draw | |
parent | c3994aa4432d518dd598da3ea2fe8ff368ca16cc (diff) |
Fix T73815 Overlay: Z axis line doesn't show alone on the workspace
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_grid.c | 14 |
1 files 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) |