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:
authorRichard Antalik <richardantalik@gmail.com>2022-04-04 15:27:47 +0300
committerRichard Antalik <richardantalik@gmail.com>2022-04-04 15:28:55 +0300
commit068d2b086199e6e01b24addbe340a196f1bfff63 (patch)
tree388be1022ec819a1963b2a9cffd7ff2511c38a4b
parente49fef45cef7d53ae856a943e125838cdfcea0a0 (diff)
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
-rw-r--r--source/blender/draw/engines/overlay/overlay_edit_uv.c4
-rw-r--r--source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl3
2 files changed, 6 insertions, 1 deletions
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);