oklabToLin function

Lab oklabToLin(
  1. Lab c
)

OKLab → linear sRGB (may be out of gamut).

Implementation

LinRgb oklabToLin(Lab c) {
  final (bigL, a, b) = c;
  final l1 = _lab2lms[0] * bigL + _lab2lms[1] * a + _lab2lms[2] * b;
  final m1 = _lab2lms[3] * bigL + _lab2lms[4] * a + _lab2lms[5] * b;
  final s1 = _lab2lms[6] * bigL + _lab2lms[7] * a + _lab2lms[8] * b;
  final l = l1 * l1 * l1;
  final m = m1 * m1 * m1;
  final s = s1 * s1 * s1;
  return (
    _lms2rgb[0] * l + _lms2rgb[1] * m + _lms2rgb[2] * s,
    _lms2rgb[3] * l + _lms2rgb[4] * m + _lms2rgb[5] * s,
    _lms2rgb[6] * l + _lms2rgb[7] * m + _lms2rgb[8] * s,
  );
}