sampler2D RT : register(s0);
sampler3D noiseVol : register(s1);

float4 NightVision_ps(	float4 pos : POSITION,
      float2 TexCoord : TEXCOORD0,
			uniform float4 lum,
			uniform float time) : COLOR
{	
	float4 oC;
	oC = tex2D(RT, TexCoord);
	
	//obtain luminence value
	oC = dot(oC,lum);
	
	//add some random noise
	oC += 0.2 *(tex3D(noiseVol, float3(TexCoord*5,time)))- 0.05;
	
	//add lens circle effect
	//(could be optimised by using texture)
	float dist = distance(TexCoord, float2(0.5,0.5));
	oC *= smoothstep(0.5,0.45,dist);
	
	//add rb to the brightest pixels
	oC.rb = max (oC.r - 0.75, 0)*4;
	
	return oC ;
}