varying vec2 V_Texcoord; uniform sampler2D U_MainTexture; void main() { //1 2 1 //2 4 2 //1 2 1 vec4 color = vec4(0.0); float texelOffset = 1/100.0; float weight[5] = float[](0.22,0.19,0.12,0.08,0.01); color = texture2D(U_MainTexture, V_Texcoord)*weight[0]; for(int i = 1; i < 5; i++){ color += texture2D(U_MainTexture, vec2(V_Texcoord.x, V_Texcoord.y+texelOffset*i))*weight[i]; color += texture2D(U_MainTexture, vec2(V_Texcoord.x, V_Texcoord.y-texelOffset*i))*weight[i]; } gl_FragColor = color; }