HUE_GUARD
#
const
HUE_GUARD:
f32
=
0.0001
gamma
#
inverse_gamma
#
fn
inverse_gamma
(
)
->
f32
srgb_to_linear_rgb
#
fn
srgb_to_linear_rgb
(
)
->
vec3 <
f32 >
linear_rgb_to_srgb
#
fn
linear_rgb_to_srgb
(
)
->
vec3 <
f32 >
linear_to_srgb
#
srgb_to_linear
#
oklab_to_linear_rgb
#
fn
oklab_to_linear_rgb
(
)
->
vec3 <
f32 >
okhsl_to_oklab
#
okhsl_to_linear_rgb
#
fn
okhsl_to_linear_rgb
(
)
->
vec3 <
f32 >
linear_rgb_to_oklab
#
fn
linear_rgb_to_oklab
(
)
->
vec3 <
f32 >
hsl_to_linear_rgb
#
fn
hsl_to_linear_rgb
(
)
->
vec3 <
f32 >
hsv_to_linear_rgb
#
fn
hsv_to_linear_rgb
(
)
->
vec3 <
f32 >
hwb_to_hsv
#
hwb_to_linear_rgb
#
fn
hwb_to_linear_rgb
(
)
->
vec3 <
f32 >
oklch_to_linear_rgb
#
fn
oklch_to_linear_rgb
(
)
->
vec3 <
f32 >
mix_oklch
#
mix_oklch_long
#
fn
mix_oklch_long
(
,
,
)
->
vec3 <
f32 >
mix_hsl
#
mix_hsl_long
#
fn
mix_hsl_long
(
,
,
)
->
vec3 <
f32 >
mix_okhsl
#
mix_okhsl_long
#
fn
mix_okhsl_long
(
,
,
)
->
vec3 <
f32 >
mix_hsv
#
mix_hsv_long
#
fn
mix_hsv_long
(
,
,
)
->
vec3 <
f32 >
hsv_to_rgb
#
rgb_to_hsv
#
okhsl_toe_inv
#
fn
okhsl_toe_inv
(
)
->
f32
okhsl_to_ST
#
okhsl_get_ST_mid
#
fn
okhsl_get_ST_mid
(
,
)
->
vec2 <
f32 >
okhsl_compute_max_saturation
#
fn
okhsl_compute_max_saturation
(
,
)
->
f32
okhsl_find_cusp
#
fn
okhsl_find_cusp
(
,
)
->
vec2 <
f32 >
okhsl_find_gamut_intersection
#
fn
okhsl_find_gamut_intersection
(
,
,
,
,
,
)
->
f32
okhsl_get_Cs
#
fn
okhsl_get_Cs
(
,
,
)
->
vec3 <
f32 >
Contents
https://en.wikipedia.org/wiki/SRGB