From 068d2b086199e6e01b24addbe340a196f1bfff63 Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Mon, 4 Apr 2022 14:27:47 +0200 Subject: Fix T96575: Can't set vertex theme color UV editor used wire color for drawing unselected vertices. Add color variable to shader, so theme color can be used. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D14373 --- source/blender/draw/engines/overlay/overlay_edit_uv.c | 4 ++++ source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/overlay/overlay_edit_uv.c b/source/blender/draw/engines/overlay/overlay_edit_uv.c index 93c75bde1e7..acfd2f98044 100644 --- a/source/blender/draw/engines/overlay/overlay_edit_uv.c +++ b/source/blender/draw/engines/overlay/overlay_edit_uv.c @@ -238,6 +238,10 @@ void OVERLAY_edit_uv_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_float_copy( pd->edit_uv_verts_grp, "pointSize", (point_size + 1.5f) * M_SQRT2); DRW_shgroup_uniform_float_copy(pd->edit_uv_verts_grp, "outlineWidth", 0.75f); + float theme_color[4]; + UI_GetThemeColor4fv(TH_VERTEX, theme_color); + srgb_to_linearrgb_v4(theme_color, theme_color); + DRW_shgroup_uniform_vec4_copy(pd->edit_uv_verts_grp, "color", theme_color); } /* uv faces */ diff --git a/source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl b/source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl index b241a1f0568..97797f84783 100644 --- a/source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl @@ -3,6 +3,7 @@ uniform float pointSize; uniform float outlineWidth; +uniform vec4 color; in vec2 au; in int flag; @@ -18,7 +19,7 @@ void main() { bool is_selected = (flag & (VERT_UV_SELECT | FACE_UV_SELECT)) != 0; bool is_pinned = (flag & VERT_UV_PINNED) != 0; - vec4 deselect_col = (is_pinned) ? pinned_col : vec4(colorWire.rgb, 1.0); + vec4 deselect_col = (is_pinned) ? pinned_col : vec4(color.rgb, 1.0); fillColor = (is_selected) ? colorVertexSelect : deselect_col; outlineColor = (is_pinned) ? pinned_col : vec4(fillColor.rgb, 0.0); -- cgit v1.2.3