

////////////////////////////////////////////////////////////////////////////////////////////////////////////

const float fractionalWidthOfPixel = 0.01;

void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
    vec2 uv = fragCoord / iResolution.xy;
    
    float aspectRatio = iResolution.y / iResolution.x;

    vec2 sampleDivisor = vec2(fractionalWidthOfPixel, fractionalWidthOfPixel / aspectRatio);
    
    vec2 samplePos = uv - mod(uv, sampleDivisor) + 0.5 * sampleDivisor;

    fragColor = texture2D(iChannel[0], samplePos );
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////

void main() {
    mainImage(gl_FragColor, gl_FragCoord.xy);
}
