void SRGBToLinear(vec3 col, out vec3 result)
{
	if (any(greaterThan(col, vec3(0.04045)))) 
		result = pow((col + vec3(0.055)) * vec3(1.0/1.055), vec3(2.4));

	if (col.r <= 0.04045) { result.r = col.r < 0.0 ? col.r : col.r * 1.0/12.92; } 
	if (col.g <= 0.04045) { result.g = col.g < 0.0 ? col.g : col.g * 1.0/12.92; } 
	if (col.b <= 0.04045) { result.b = col.b < 0.0 ? col.b : col.b * 1.0/12.92; } 
}

void LinearToSRGB(vec3 col, out vec3 result)
{
	if (any(greaterThan(col, vec3(0.0031308)))) 
		result = 1.055 * pow(col, vec3(1.0 / 2.4)) - vec3(0.055);

	if (col.r <= 0.0031308) { result.r = col.r < 0.0 ? col.r : col.r * 12.92; } 
	if (col.g <= 0.0031308) { result.g = col.g < 0.0 ? col.g : col.g * 12.92; } 
	if (col.b <= 0.0031308) { result.b = col.b < 0.0 ? col.b : col.b * 12.92; } 
}
