uniform vec3	u_colorVibrance;	/// rgbBalance * rgbVibrance
vec3 ColorVibrance(in vec3 inColor)
{
	if (u_colorVibrance == vec3(0.0))
		return inColor;

	float lum = dot(vec3(0.2125, 0.7154, 0.0721), inColor);

	float minColor = min(inColor.r, min(inColor.g, inColor.b));
	float maxColor = max(inColor.r, max(inColor.g, inColor.b));
	float satColor = maxColor - minColor;

	return mix(vec3(lum), inColor, (1.0 + (u_colorVibrance * (1.0 - (sign(u_colorVibrance) * satColor)))));
}
