diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-06-17 23:41:43 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2020-06-25 10:32:55 +0300 |
commit | 58533aca4d61fdf91b65c98499adea450e1818ad (patch) | |
tree | 56c125074fd7082c289abd82588610cc8c8e21bc | |
parent | 5f01048dcb9a146f2ffc6273f18c5d0553b3f6f1 (diff) |
GPencil: Fix unreported Vertex Opacity Overlay not working
This values was not working because was removed by error in refactor.
Reviewed By: mendio, fclem
Differential Revision: https://developer.blender.org/D8061
4 files changed, 11 insertions, 3 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index bb67dc085b1..fa59c5a8008 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -6768,7 +6768,10 @@ class VIEW3D_PT_overlay_gpencil_options(Panel): if context.object.mode in {'PAINT_GPENCIL', 'VERTEX_GPENCIL'}: layout.label(text="Vertex Paint") - layout.prop(overlay, "gpencil_vertex_paint_opacity", text="Opacity", slider=True) + row = layout.row() + shading = VIEW3D_PT_shading.get_shading(context) + row.enabled = shading.type not in {'WIREFRAME', 'RENDERED'} + row.prop(overlay, "gpencil_vertex_paint_opacity", text="Opacity", slider=True) class VIEW3D_PT_quad_view(Panel): diff --git a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c index 1344b649dff..5964528acf8 100644 --- a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c @@ -265,8 +265,10 @@ GPENCIL_tLayer *gpencil_layer_cache_add(GPENCIL_PrivateData *pd, GPENCIL_VERTEX_MODE(gpd) || pd->is_render; bool is_masked = (gpl->flag & GP_LAYER_USE_MASK) && !BLI_listbase_is_empty(&gpl->mask_layers); - float vert_col_opacity = (overide_vertcol) ? (is_vert_col_mode ? 1.0f : 0.0f) : - gpl->vertex_paint_opacity; + float vert_col_opacity = (overide_vertcol) ? + (is_vert_col_mode ? pd->vertex_paint_opacity : 0.0f) : + pd->is_render ? gpl->vertex_paint_opacity : + pd->vertex_paint_opacity; /* Negate thickness sign to tag that strokes are in screen space. * Convert to world units (by default, 1 meter = 2000 px). */ float thickness_scale = (is_screenspace) ? -1.0f : (gpd->pixfactor / GPENCIL_PIXEL_FACTOR); diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index fa8c1716d63..778e85b9f59 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -224,6 +224,7 @@ void GPENCIL_cache_init(void *ved) const bool is_fade_layer = ((!hide_overlay) && (!pd->is_render) && (draw_ctx->v3d->gp_flag & V3D_GP_FADE_NOACTIVE_LAYERS)); pd->fade_layer_opacity = (is_fade_layer) ? draw_ctx->v3d->overlay.gpencil_fade_layer : -1.0f; + pd->vertex_paint_opacity = draw_ctx->v3d->overlay.gpencil_vertex_paint_opacity; /* Fade GPencil Objects. */ const bool is_fade_object = ((!hide_overlay) && (!pd->is_render) && (draw_ctx->v3d->gp_flag & V3D_GP_FADE_OBJECTS) && diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h index cedd75af813..7baca28dca3 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.h +++ b/source/blender/draw/engines/gpencil/gpencil_engine.h @@ -363,6 +363,8 @@ typedef struct GPENCIL_PrivateData { float xray_alpha; /* Mask invert uniform. */ int mask_invert; + /* Vertex Paint opacity. */ + float vertex_paint_opacity; } GPENCIL_PrivateData; /* geometry batch cache functions */ |