uniform samplerRECT samp0 : register(s0); void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) { float4 c0 = texRECT(samp0, uv0).rgba; float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba; float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b); float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3; float red = c0.r; float green = c0.g; float blue = c0.b; float alpha = c0.a; red = y2 + (1 - y); green = y2 + (1 - y); blue = y2 + (1 - y); ocol0 = float4(red, green, blue, alpha); }