uniform samplerRECT samp0 : register(s0); void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0) { float4 c0 = texRECT(samp0, uv0).rgba; // Same coefficients as grayscale2 at this point float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b); float red=avg; // Not sure about these coefficients, they just seem to produce the proper yellow float green=avg*.75; float blue=avg*.5; ocol0 = float4(red, green, blue, c0.a); }