[Bf-blender-cvs] [068d2b08619] master: Fix T96575: Can't set vertex theme color

Richard Antalik noreply at git.blender.org
Mon Apr 4 14:33:03 CEST 2022


Commit: 068d2b086199e6e01b24addbe340a196f1bfff63
Author: Richard Antalik
Date:   Mon Apr 4 14:27:47 2022 +0200
Branches: master
https://developer.blender.org/rB068d2b086199e6e01b24addbe340a196f1bfff63

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

===================================================================

M	source/blender/draw/engines/overlay/overlay_edit_uv.c
M	source/blender/draw/engines/overlay/shaders/edit_uv_verts_vert.glsl

===================================================================

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);



More information about the Bf-blender-cvs mailing list