varying vec2 vTextureCoord;
varying vec4 vColor;
uniform sampler2D uSampler;
uniform vec4 uColor;
uniform vec4 uFrame;
uniform vec2 uPixelSize;
void main(void)
{
vec2 coord = mod(vTextureCoord, uFrame.zw);
coord = clamp(coord, uPixelSize, uFrame.zw - uPixelSize);
coord += uFrame.xy;
vec4 sample = texture2D(uSampler, coord);
vec4 color = vec4(uColor.rgb * uColor.a, uColor.a);
gl_FragColor = sample * color ;
}