#version 300 es precision highp float; in vec2 v_texcoord; uniform sampler2D tex; out vec4 fragColor; void main() { vec4 c = texture(tex, v_texcoord); float r = dot(c.rgb, vec3(0.393, 0.769, 0.189)); float g = dot(c.rgb, vec3(0.349, 0.686, 0.168)); float b = dot(c.rgb, vec3(0.272, 0.534, 0.131)); fragColor = vec4(clamp(r, 0.0, 1.0), clamp(g, 0.0, 1.0), clamp(b, 0.0, 1.0), c.a); }