Directly operate on vec3 for linear2srgb

This commit is contained in:
Kovid Goyal 2025-08-26 19:14:06 +05:30
parent 0307ae061e
commit 6c44eadf77
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -14,8 +14,10 @@ float linear2srgb(float x) {
return mix(lower, upper, step(0.0031308f, x));
}
vec3 linear2srgb(vec3 c) {
return vec3(linear2srgb(c.r), linear2srgb(c.g), linear2srgb(c.b));
vec3 linear2srgb(vec3 x) {
vec3 lower = 12.92 * x;
vec3 upper = 1.055 * pow(x, vec3(1.0f / 2.4f)) - 0.055f;
return mix(lower, upper, step(0.0031308f, x));
}
vec3 srgb2linear(vec3 c) {