precision mediump float;
varying vec2 vTextureCoord;
uniform sampler2D uSampler;
uniform vec4 filterArea;
uniform vec2 red;
uniform vec2 green;
uniform vec2 blue;
void main(void)
{
gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r;
gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g;
gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b;
gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;
}