Texture2D CameraTarget : register(t0); SamplerState CameraTargetSampler : register(s0); struct VS_IN { float2 Position : POSITION; float2 TexCoord : TEXCOORD0; }; struct PS_IN { float4 Position : SV_POSITION; float2 TexCoord : TEXCOORD; }; PS_IN VS(VS_IN input) { PS_IN output; output.Position = float4(input.Position, 0, 1); output.TexCoord = input.TexCoord; return output; } float4 PS(PS_IN input) : SV_TARGET { float4 rawColor = CameraTarget.Sample(CameraTargetSampler, input.TexCoord); float3 color = rawColor.rgb / (rawColor.rgb + 1.0f); color = pow(color, 1.0f / 2.2f); return float4(color, 1); } #effect[VS = VS, PS = PS]