[Bf-blender-cvs] [6ac1f2eff25] greasepencil-refactor: GPencil: Refactor: Overlay: Add hide selection option back
Clément Foucault
noreply at git.blender.org
Tue Jan 7 17:42:25 CET 2020
Commit: 6ac1f2eff254d4ca81acdae24938ce5aa66d74a2
Author: Clément Foucault
Date: Tue Jan 7 16:15:06 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB6ac1f2eff254d4ca81acdae24938ce5aa66d74a2
GPencil: Refactor: Overlay: Add hide selection option back
===================================================================
M source/blender/draw/engines/overlay/overlay_gpencil.c
M source/blender/draw/engines/overlay/shaders/edit_gpencil_vert.glsl
===================================================================
diff --git a/source/blender/draw/engines/overlay/overlay_gpencil.c b/source/blender/draw/engines/overlay/overlay_gpencil.c
index d7b17c6b9b8..ce2866ac7b3 100644
--- a/source/blender/draw/engines/overlay/overlay_gpencil.c
+++ b/source/blender/draw/engines/overlay/overlay_gpencil.c
@@ -64,8 +64,8 @@ void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
return;
}
- // const bool use_sculpt_mask = (GPENCIL_SCULPT_MODE(gpd) &&
- // GPENCIL_ANY_SCULPT_MASK(ts->gpencil_selectmode_sculpt));
+ const bool use_sculpt_mask = (GPENCIL_SCULPT_MODE(gpd) &&
+ GPENCIL_ANY_SCULPT_MASK(ts->gpencil_selectmode_sculpt));
const bool show_sculpt_points = (GPENCIL_SCULPT_MODE(gpd) &&
(ts->gpencil_selectmode_sculpt &
(GP_SCULPT_MASK_SELECTMODE_POINT |
@@ -87,8 +87,8 @@ void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
const bool is_vertex_paint = (gpd) && (gpd->flag & GP_DATA_STROKE_VERTEXMODE);
/* If Sculpt/Vertex mode and the mask is disabled, the select must be hidden. */
- // const bool hide_select = ((GPENCIL_SCULPT_MODE(gpd) && !use_sculpt_mask) ||
- // (GPENCIL_VERTEX_MODE(gpd) && !use_vertex_mask));
+ const bool hide_select = ((GPENCIL_SCULPT_MODE(gpd) && !use_sculpt_mask) ||
+ (GPENCIL_VERTEX_MODE(gpd) && !use_vertex_mask));
/* Show Edit points if:
* Edit mode: Not in Stroke selection mode
@@ -116,9 +116,10 @@ void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
DRW_shgroup_uniform_bool_copy(grp, "doMultiframe", show_multi_edit_lines);
DRW_shgroup_uniform_float_copy(grp, "gpEditOpacity", v3d->vertex_opacity);
+ DRW_shgroup_uniform_bool_copy(grp, "hideSelect", hide_select);
}
- if (show_points) {
+ if (show_points && !hide_select) {
sh = OVERLAY_shader_edit_gpencil_point();
pd->edit_gpencil_points_grp = grp = DRW_shgroup_create(sh, psl->edit_gpencil_ps);
DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
diff --git a/source/blender/draw/engines/overlay/shaders/edit_gpencil_vert.glsl b/source/blender/draw/engines/overlay/shaders/edit_gpencil_vert.glsl
index 542db778e46..ef8febb59c4 100644
--- a/source/blender/draw/engines/overlay/shaders/edit_gpencil_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/edit_gpencil_vert.glsl
@@ -2,6 +2,7 @@
uniform float normalSize;
uniform bool doMultiframe;
uniform bool doStrokeEndpoints;
+uniform bool hideSelect;
uniform float gpEditOpacity;
uniform vec4 gpEditColor;
@@ -25,8 +26,10 @@ void discard_vert()
#ifdef USE_POINTS
# define colorUnselect colorGpencilVertex
+# define colorSelect colorGpencilVertexSelect
#else
# define colorUnselect gpEditColor
+# define colorSelect (hideSelect ? colorUnselect : colorGpencilVertexSelect)
#endif
void main()
@@ -39,7 +42,7 @@ void main()
bool is_multiframe = (vflag & GP_EDIT_MULTIFRAME) != 0u;
bool is_stroke_sel = (vflag & GP_EDIT_STROKE_SELECTED) != 0u;
bool is_point_sel = (vflag & GP_EDIT_POINT_SELECTED) != 0u;
- finalColor = (is_point_sel) ? colorGpencilVertexSelect : colorUnselect;
+ finalColor = (is_point_sel) ? colorSelect : colorUnselect;
finalColor.a *= gpEditOpacity;
#ifdef USE_POINTS
More information about the Bf-blender-cvs
mailing list