uniform sampler2D samp9; out vec4 ocol0; in vec2 uv0; uniform vec4 resolution; void main() { float4 c0 = texture(samp9, uv0).rgba; float4 tmp = float4(0, 0, 0, 0); tmp += c0 - texture(samp9, uv0 + float2(2, 2)*resolution.zw).rgba; tmp += c0 - texture(samp9, uv0 - float2(2, 2)*resolution.zw).rgba; tmp += c0 - texture(samp9, uv0 + float2(2, -2)*resolution.zw).rgba; tmp += c0 - texture(samp9, uv0 - float2(2, -2)*resolution.zw).rgba; float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b)); // get rid of the bottom line, as it is incorrect. if (uv0.y*resolution.y < 163) tmp = float4(1.0, 1.0, 1.0, 1.0); c0 = c0+1-grey*7.0; ocol0 = float4(c0.r, c0.g, c0.b, 1); }