precision mediump float;

varying vec2 vTexCoord;

uniform sampler2D u_texture;

uniform mat3 M3;

void main() {
  vec4 texColor = texture2D(u_texture, vTexCoord).rgba;
  gl_FragColor = vec4(M3 * texColor.rgb, texColor.a);
}