Commit: d9d2809eed0519c57fddac773163a3d648ea5bb2
Author: Jeroen Bakker
Date:   Thu Sep 10 15:14:56 2020 +0200
Branches: uvimage-editor-drawing
https://developer.blender.org/rBd9d2809eed0519c57fddac773163a3d648ea5bb2

Move selected vertices to the top

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

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 4981b8483a7..1a95bd04c69 100644
--- a/source/blender/draw/engines/overlay/overlay_edit_uv.c
+++ b/source/blender/draw/engines/overlay/overlay_edit_uv.c
@@ -164,7 +164,8 @@ void OVERLAY_edit_uv_cache_init(OVERLAY_Data *vedata)
     /* uv verts */
     {
       DRW_PASS_CREATE(psl->edit_uv_verts_ps,
-                      DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_ALWAYS | 
DRW_STATE_BLEND_ALPHA);
+                      DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | 
DRW_STATE_DEPTH_LESS_EQUAL |
+                          DRW_STATE_BLEND_ALPHA);
       GPUShader *sh = OVERLAY_shader_edit_uv_verts_get();
       pd->edit_uv_verts_grp = DRW_shgroup_create(sh, psl->edit_uv_verts_ps);
 
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 1c5cbc7121d..89627ec528b 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
@@ -16,17 +16,18 @@ const vec4 pinned_col = vec4(1.0, 0.0, 0.0, 1.0);
 
 void main()
 {
-  vec3 world_pos = point_object_to_world(vec3(u, 0.0));
-  gl_Position = point_world_to_ndc(world_pos);
-
-  gl_PointSize = pointSize;
-
   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);
   fillColor = (is_selected) ? colorVertexSelect : deselect_col;
   outlineColor = (is_pinned) ? pinned_col : vec4(fillColor.rgb, 0.0);
 
+  vec3 world_pos = point_object_to_world(vec3(u, 0.0));
+  /* Move selected vertices to the top */
+  float depth = is_selected ? 0.0 : 0.05;
+  gl_Position = vec4(point_world_to_ndc(world_pos).xy, depth, 1.0);
+  gl_PointSize = pointSize;
+
   // calculate concentric radii in pixels
   float radius = 0.5 * pointSize;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to