@vs vs
in vec4 pos;
in vec4 color0;
in vec2 texcoord0;

out vec2 uv;
out vec4 color;

void main() {
    gl_Position = pos;
    uv = texcoord0;
    color = color0;
}
@end

@fs fs
uniform texture2D tex;
uniform sampler smp;

in vec2 uv;
in vec4 color;
out vec4 frag_color;

void main() {
    frag_color = texture(sampler2D(tex, smp), uv) * color;
}
@end

@program triangle vs fs