precision mediump float;

varying lowp vec4 vColor;
varying vec2 vTexCoord;

uniform sampler2D u_texture;

uniform float gamma;

void main() {
  vec4 color = texture2D(u_texture, vTexCoord).rgba;
  gl_FragColor = pow(color, vec4(vec3(1.0 / gamma), 1.0)) * vColor;
}
