#ifndef EV_GLSL_SRGB_OPS_H #define EV_GLSL_SRGB_OPS_H vec4 LinearToSRGB(vec4 linearRGB) { bvec4 cutoff = lessThan(linearRGB, vec4(0.0031308)); vec4 higher = vec4(1.055)*pow(linearRGB, vec4(1.0/2.4)) - vec4(0.055); vec4 lower = linearRGB * vec4(12.92); return mix(higher, lower, cutoff); } vec4 SRGBToLinear(vec4 sRGB) { bvec4 cutoff = lessThan(sRGB, vec4(0.04045)); vec4 higher = pow((sRGB + vec4(0.055))/vec4(1.055), vec4(2.4)); vec4 lower = sRGB/vec4(12.92); return mix(higher, lower, cutoff); } #endif