1#glbuild(ES2) #version 100 2#glbuild(2) #version 110 3#glbuild(3) #version 140 4 5#ifdef GL_ES 6precision lowp float; 7precision lowp int; 8# define o_fragcolour gl_FragColor 9#elif __VERSION__ < 140 10# define mediump 11# define o_fragcolour gl_FragColor 12#else 13# define varying in 14# define texture2D texture 15out vec4 o_fragcolour; 16#endif 17 18uniform sampler2D u_texture; 19uniform vec4 u_colour; 20uniform vec4 u_bgcolour; 21uniform int u_mode; 22 23varying mediump vec2 v_texcoord; 24 25void main(void) 26{ 27 vec4 pixel; 28 29 if (u_mode == 0) { 30 // Text. 31 pixel = texture2D(u_texture, v_texcoord); 32 o_fragcolour = mix(u_bgcolour, u_colour, pixel.a); 33 } else if (u_mode == 1) { 34 // Tile screen. 35 pixel = texture2D(u_texture, v_texcoord); 36 o_fragcolour = mix(u_bgcolour, pixel, pixel.a); 37 } else if (u_mode == 2) { 38 // Foreground colour. 39 o_fragcolour = u_colour; 40 } 41} 42