/*
   "Uncharted 2" tonemap from MariENB
   (C)2012-2023 Marisa the Magician
*/
vec3 Uch( vec3 res )
{
	// I have no idea how this works
	return ((res*(unA*res+unC*unB)+unD*unE)/(res*(unA*res+unB)+unD*unF))-unE/unF;
}
vec3 TonemapUC2( vec3 res )
{
	vec3 ucol = Uch(res);
	vec3 uwhite = Uch(vec3(unW));
	return pow(max(ucol/uwhite,0.),vec3(1./2.2));
}

void main()
{
	vec2 coord = TexCoord;
	vec4 res = texture(InputTexture,coord);
	vec3 mapped = TonemapUC2(pow(max(res.rgb*texposure,0.),vec3(2.2)));
	res.rgb = mix(res.rgb,mapped,tblend);
	FragColor = res;
}
