diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-07-16 05:16:10 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-07-16 19:01:44 +0300 |
commit | 5099cbeec9c481600e359e95a806a3393ba4ab0d (patch) | |
tree | aa20597f4760b5f1b77356e30e90ce6a5c914874 /source/blender/editors/gpencil/annotate_draw.c | |
parent | 436d38bb548d904200337d58720552b6f78555cb (diff) |
Cleanup: GPU: Move depth/color masks functions to GPU_state
Diffstat (limited to 'source/blender/editors/gpencil/annotate_draw.c')
-rw-r--r-- | source/blender/editors/gpencil/annotate_draw.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/gpencil/annotate_draw.c b/source/blender/editors/gpencil/annotate_draw.c index 20307e7f809..8c8e6da75c0 100644 --- a/source/blender/editors/gpencil/annotate_draw.c +++ b/source/blender/editors/gpencil/annotate_draw.c @@ -555,11 +555,8 @@ static void annotation_draw_strokes(const bGPDframe *gpf, /* check which stroke-drawer to use */ if (dflag & GP_DRAWDATA_ONLY3D) { const int no_xray = (dflag & GP_DRAWDATA_NO_XRAY); - int mask_orig = 0; if (no_xray) { - glGetIntegerv(GL_DEPTH_WRITEMASK, &mask_orig); - glDepthMask(0); GPU_depth_test(true); /* first arg is normally rv3d->dist, but this isn't @@ -578,7 +575,6 @@ static void annotation_draw_strokes(const bGPDframe *gpf, } if (no_xray) { - glDepthMask(mask_orig); GPU_depth_test(false); bglPolygonOffset(0.0, 0.0); @@ -743,12 +739,18 @@ static void annotation_draw_data( GPU_SRC_ALPHA, GPU_ONE_MINUS_SRC_ALPHA, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA); GPU_blend(true); + /* Do not write to depth (avoid self-occlusion). */ + bool prev_depth_mask = GPU_depth_mask_get(); + GPU_depth_mask(false); + /* draw! */ annotation_draw_data_layers(gpd, offsx, offsy, winx, winy, cfra, dflag); /* turn off alpha blending, then smooth lines */ GPU_blend(false); // alpha blending GPU_line_smooth(false); // smooth lines + + GPU_depth_mask(prev_depth_mask); } /* if we have strokes for scenes (3d view)/clips (movie clip editor) |