[Bf-blender-cvs] [d9d2809eed0] uvimage-editor-drawing: Move selected vertices to the top
Jeroen Bakker
noreply at git.blender.org
Thu Sep 10 15:15:08 CEST 2020
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;
More information about the Bf-blender-cvs
mailing list