diff options
author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2025-03-06 15:23:54 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-06 15:23:54 -0500 |
commit | e6927d8a079f81522e7dde9b1c67035171f84c93 (patch) | |
tree | a5335524e579d1ad478f1b723215673a55cc51dd /indra/newview/app_settings/shaders/class1/environment/srgbF.glsl | |
parent | 5029f0322f264e17f7509952f7bf9812db17a9ec (diff) | |
parent | 42ceac9695f7e098f15264977396a939c8ddfd23 (diff) |
Merge pull request #3304 from secondlife/release/2024.12-ForeverFPS
2024.12 ForeverFPS
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/environment/srgbF.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/environment/srgbF.glsl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl index d7f6d20547..bf8737615f 100644 --- a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl @@ -41,6 +41,26 @@ vec3 srgb_to_linear(vec3 cs) } + +vec4 srgb_to_linear4(vec4 cs) +{ + vec4 low_range = cs / vec4(12.92); + vec4 high_range = pow((cs+vec4(0.055))/vec4(1.055), vec4(2.4)); + bvec4 lte = lessThanEqual(cs,vec4(0.04045)); + +#ifdef OLD_SELECT + vec4 result; + result.r = lte.r ? low_range.r : high_range.r; + result.g = lte.g ? low_range.g : high_range.g; + result.b = lte.b ? low_range.b : high_range.b; + result.a = lte.a ? low_range.a : high_range.a; + return result; +#else + return mix(high_range, low_range, lte); +#endif + +} + vec3 linear_to_srgb(vec3 cl) { cl = clamp(cl, vec3(0), vec3(1)); |