uniform samplerRECT samp0 : register(s0); void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) { float4 c0 = texRECT(samp0, uv0).rgba; // Info: http://www.oreillynet.com/cs/user/view/cs_msg/8691 float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b); ocol0 = float4(avg, avg, avg, c0.a); }