diff options
Diffstat (limited to 'source/blender/draw/modes/shaders/paint_vert_frag.glsl')
-rw-r--r-- | source/blender/draw/modes/shaders/paint_vert_frag.glsl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/draw/modes/shaders/paint_vert_frag.glsl b/source/blender/draw/modes/shaders/paint_vert_frag.glsl new file mode 100644 index 00000000000..c22e1c04b96 --- /dev/null +++ b/source/blender/draw/modes/shaders/paint_vert_frag.glsl @@ -0,0 +1,26 @@ + +flat in int finalFlag; +out vec4 fragColor; + +#define VERTEX_SELECTED (1 << 0) +#define VERTEX_HIDE (1 << 4) + +void main() +{ + if (bool(finalFlag & VERTEX_HIDE)) { + discard; + } + + vec2 centered = gl_PointCoord - vec2(0.5); + float dist_squared = dot(centered, centered); + const float rad_squared = 0.25; + const vec4 colSel = vec4(1.0, 1.0, 1.0, 1.0); + const vec4 colUnsel = vec4(0.5, 0.5, 0.5, 1.0); + + // round point with jaggy edges + if (dist_squared > rad_squared) { + discard; + } + + fragColor = bool(finalFlag & VERTEX_SELECTED) ? colSel : colUnsel; +} |