hsvToRgb method Null safety
Convert hsvColor from hue, saturation, and value (HSV) color model to
the RGB color model and store it in rgbColor.
Implementation
static void hsvToRgb(Vector4 hsvColor, Vector4 rgbColor) {
final i = (hsvColor.x * 6.0).floor();
final f = hsvColor.x * 6.0 - i.toDouble();
final p = hsvColor.z * (1.0 - hsvColor.y);
final q = hsvColor.z * (1.0 - f * hsvColor.y);
final t = hsvColor.z * (1.0 - (1.0 - f) * hsvColor.y);
switch (i % 6) {
case 0:
rgbColor.setValues(hsvColor.z, t, p, hsvColor.a);
break;
case 1:
rgbColor.setValues(q, hsvColor.z, p, hsvColor.a);
break;
case 2:
rgbColor.setValues(p, hsvColor.z, t, hsvColor.a);
break;
case 3:
rgbColor.setValues(p, q, hsvColor.z, hsvColor.a);
break;
case 4:
rgbColor.setValues(t, p, hsvColor.z, hsvColor.a);
break;
case 5:
rgbColor.setValues(hsvColor.z, p, q, hsvColor.a);
break;
}
}