#version 300 es precision mediump float; uniform sampler2D u_atlas; in vec2 v_uv; in vec3 v_fg; in vec3 v_bg; out vec4 o_col; void main() { float a = texture(u_atlas, v_uv).r; o_col = vec4(mix(v_bg, v_fg, a), 1.0); }