[[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;
uniform bool dir; // 0:horizontal, 1:vertical

in mediump vec3 uv;
out mediump vec4 frag;

void main()
{
    frag = vec4(hsv2rgb(vec3(dir?uv.y:uv.x, 1.0, 1.0)), 1.0);
}
