Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-04-17 22:08:34 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-04-17 22:08:34 +0300
commit842e817bf77830d003e466e8465e60d40517c782 (patch)
treed3531000570b5b83fb25d61180e24beccfd08874 /source/blender/draw
parentc3994aa4432d518dd598da3ea2fe8ff368ca16cc (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.c14
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)