[[vertex]]

uniform mat4 mvp;

in vec4 pos;
in vec2 uvs;
out vec3 uv;

void main()
{
    gl_Position = mvp * pos;
    uv = vec3(uvs, pos.w);
}

[[fragment]]

#include "include/hsv.glsl"

uniform mediump vec4 col; // in HSV

in mediump vec3 uv;
out mediump vec4 frag;

void main()
{
    mediump float sat = tan(atan(uv.y, uv.x)) * 0.5 + 0.5;
    frag = vec4(hsv2rgb(vec3(col.r, sat, uv.x)), 1.0);
}
