diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-10-11 05:45:50 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-10-11 08:43:38 +0300 |
commit | d74b89aed0310bcead9e17a8100f69b9b1872313 (patch) | |
tree | ee71ba071f9d9f829550c150c583bae3d6befcc8 /source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl | |
parent | b7363941f7ddfd5154a0a61f17c6186d049793be (diff) |
DRW: add ability to skip drawing vertices
Diffstat (limited to 'source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl')
-rw-r--r-- | source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl index 7f985cd2c43..92eb00d4dcc 100644 --- a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl +++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl @@ -28,7 +28,7 @@ flat in vec2 ssPos[3]; out vec4 FragColor; /* Vertex flag is shifted and combined with the edge flag */ -#define FACE_ACTIVE (1 << (2 + 8)) +#define FACE_ACTIVE (1 << (3 + 8)) #define LARGE_EDGE_SIZE 3.0 @@ -106,13 +106,18 @@ void main() /* Points */ #ifdef VERTEX_SELECTION for (int v = 0; v < 3; ++v) { - float size = p[v] - sizeVertex; + if ((flag[v] & EDGE_VERTEX_EXISTS) == 0) { + /* Leave as-is, no vertex. */ + } + else { + float size = p[v] - sizeVertex; - vec4 point_color = colorVertex; - point_color = ((flag[v] & EDGE_VERTEX_SELECTED) != 0) ? colorVertexSelect : point_color; - point_color = ((flag[v] & EDGE_VERTEX_ACTIVE) != 0) ? vec4(colorEditMeshActive.xyz, 1.0) : point_color; + vec4 point_color = colorVertex; + point_color = ((flag[v] & EDGE_VERTEX_SELECTED) != 0) ? colorVertexSelect : point_color; + point_color = ((flag[v] & EDGE_VERTEX_ACTIVE) != 0) ? vec4(colorEditMeshActive.xyz, 1.0) : point_color; - colorDist(point_color, size); + colorDist(point_color, size); + } } #endif |