@ctype vec2 HMM_Vec2
@ctype mat4 HMM_Mat4
@vs vs
in vec4 pos;
in vec4 color0;
in vec2 texcoord0;

uniform vs_params {
    mat4 mvp;
    vec2 texture_scale;
};

out vec4 color;
out vec2 uv;

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

@fs fs
uniform texture2D tex;
uniform sampler smp;

in vec4 color;
in vec2 uv;

out vec4 frag_color;

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

@program transform vs fs