sampler SceneSampler : register(s0) = sampler_state { MinFilter = Linear; MagFilter = Linear; AddressU = Clamp; AddressV = Clamp; }; float ValueShift=0; float HueStrength=1; float4 PS(float2 tc : TEXCOORD0) : COLOR0 { float4 color = tex2D(SceneSampler, tc); float rg = color.y-color.x; float rb = color.z-color.x; float4 ret = float4(color.x+ValueShift,color.x+ValueShift,color.x+ValueShift,color.w); ret.y+=rg*HueStrength; ret.z+=rb*HueStrength; return ret; } technique Gamma { pass pass0 { PixelShader = compile ps_2_0 PS(); } }