uniform sampler2D inTex; uniform vec2 texSz; uniform float kerSz; void main (void ) { vec2 texCoord = gl_FragCoord.xy / texSz; vec4 color = vec4(0.0, 0.0, 0.0, 0.0); for( int i = -kerSz; i <= kerSz; i++ ) for (int j = -kerSz; j <= kerSz; j++ ) { color += texture2D( inTex, texCoord + vec2( i / texSz.x, j / texSz.y ) ); } gl_FragColor = color / ( (2*kerSz + 1) * (2*kerSz +1) ) ; }