uniform sampler2D inTex; uniform vec2 texSz; void main (void ) { vec2 texCoord = gl_FragCoord.xy / texSz; vec4 color = texture2D( inTex, texCoord ); color += texture2D( inTex, texCoord + vec2( 1.0/texSz.x, 0 ) ); color += texture2D( inTex, texCoord - vec2( 1.0/texSz.x, 0 ) ); color += texture2D( inTex, texCoord + vec2( 0, 1.0/texSz.y ) ); color += texture2D( inTex, texCoord - vec2( 0, 1.0/texSz.y ) ); color += texture2D( inTex, texCoord + vec2( 1.0/texSz.x, 1.0/texSz.y ) ); color += texture2D( inTex, texCoord - vec2( 1.0/texSz.x, 1.0/texSz.y ) ); color += texture2D( inTex, texCoord + vec2( -1.0/texSz.x, 1.0/texSz.y ) ); color += texture2D( inTex, texCoord + vec2( 1.0/texSz.x, -1.0/texSz.y ) ); gl_FragColor = color / 9.0; }