|
|
|
@ -37,7 +37,7 @@ vec3 srgbToLinear(vec3 color) { |
|
|
|
bvec3 isLow = lessThanEqual(color, vec3(0.04045f)); |
|
|
|
bvec3 isLow = lessThanEqual(color, vec3(0.04045f)); |
|
|
|
vec3 loPart = color / 12.92f; |
|
|
|
vec3 loPart = color / 12.92f; |
|
|
|
vec3 hiPart = pow((color + 0.055f) / 1.055f, vec3(12.0f / 5.0f)); |
|
|
|
vec3 hiPart = pow((color + 0.055f) / 1.055f, vec3(12.0f / 5.0f)); |
|
|
|
#if glslVersion >= 1.30 |
|
|
|
#if __VERSION__ >= 130 |
|
|
|
return mix(hiPart, loPart, isLow); |
|
|
|
return mix(hiPart, loPart, isLow); |
|
|
|
#else |
|
|
|
#else |
|
|
|
return mix(hiPart, loPart, vec3(isLow.r ? 1.0 : 0.0, isLow.g ? 1.0 : 0.0, isLow.b ? 1.0 : 0.0)); |
|
|
|
return mix(hiPart, loPart, vec3(isLow.r ? 1.0 : 0.0, isLow.g ? 1.0 : 0.0, isLow.b ? 1.0 : 0.0)); |
|
|
|
@ -48,7 +48,7 @@ vec3 linearToSrgb(vec3 color) { |
|
|
|
bvec3 isLow = lessThanEqual(color, vec3(0.0031308f)); |
|
|
|
bvec3 isLow = lessThanEqual(color, vec3(0.0031308f)); |
|
|
|
vec3 loPart = color * 12.92f; |
|
|
|
vec3 loPart = color * 12.92f; |
|
|
|
vec3 hiPart = pow(color, vec3(5.0f / 12.0f)) * 1.055f - 0.055f; |
|
|
|
vec3 hiPart = pow(color, vec3(5.0f / 12.0f)) * 1.055f - 0.055f; |
|
|
|
#if glslVersion >= 1.30 |
|
|
|
#if __VERSION__ >= 130 |
|
|
|
return mix(hiPart, loPart, isLow); |
|
|
|
return mix(hiPart, loPart, isLow); |
|
|
|
#else |
|
|
|
#else |
|
|
|
return mix(hiPart, loPart, vec3(isLow.r ? 1.0 : 0.0, isLow.g ? 1.0 : 0.0, isLow.b ? 1.0 : 0.0)); |
|
|
|
return mix(hiPart, loPart, vec3(isLow.r ? 1.0 : 0.0, isLow.g ? 1.0 : 0.0, isLow.b ? 1.0 : 0.0)); |
|
|
|
|