/// <summary>Creates a gamma space RGB color from a CIE-L*ab color /// space. CIE-L*ab is a color space that models human perception, /// and has significantly more accurate to perception lightness /// values, so this is an excellent color space for color operations /// that wish to preserve color brightness properly. /// /// Traditionally, values are L [0,100], a,b [-200,+200] but here we /// normalize them all to the 0-1 range. If you hate it, let me know /// why!</summary> /// <param name="lab">For convenience, XYZ is LAB. /// Lightness of the color! Range is 0-1. /// 'a' is from red to green. Range is 0-1. /// 'b' is from blue to yellow. Range is 0-1.</param> /// <param name="opacity">The opacity copied into the final color!</param> /// <returns>A gamma space RGBA color constructed from the LAB /// values.</returns> public static Color LAB(Vec3 lab, float opacity = 1) => NativeAPI.color_lab(lab.x, lab.y, lab.z, opacity);
/// <summary>Creates a gamma space RGB color from a CIE-L*ab color /// space. CIE-L*ab is a color space that models human perception, /// and has significantly more accurate to perception lightness /// values, so this is an excellent color space for color operations /// that wish to preserve color brightness properly. /// /// Traditionally, values are L [0,100], a,b [-200,+200] but here we /// normalize them all to the 0-1 range. If you hate it, let me know /// why!</summary> /// <param name="l">Lightness of the color! Range is 0-1.</param> /// <param name="a">'a' is from red to green. Range is 0-1.</param> /// <param name="b">'b' is from blue to yellow. Range is 0-1.</param> /// <param name="opacity">The opacity copied into the final color!</param> /// <returns>A gamma space RGBA color constructed from the LAB /// values.</returns> public static Color LAB(float l, float a, float b, float opacity = 1) => NativeAPI.color_lab(l, a, b, opacity);