Browse Source

Merge pull request #724 from Skytrias/master

fix hsl math.mod to usual hsl conversion
Mikkel Hjortshøj 5 years ago
parent
commit
32fda798f3
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/math/linalg/specific.odin

+ 3 - 1
core/math/linalg/specific.odin

@@ -120,7 +120,9 @@ vector4_linear_to_srgb :: proc(col: Vector4) -> Vector4 {
 
 
 vector4_hsl_to_rgb :: proc(h, s, l: Float, a: Float = 1) -> Vector4 {
 vector4_hsl_to_rgb :: proc(h, s, l: Float, a: Float = 1) -> Vector4 {
 	hue_to_rgb :: proc(p, q, t0: Float) -> Float {
 	hue_to_rgb :: proc(p, q, t0: Float) -> Float {
-		t := math.mod(t0, 1.0);
+		t := t;
+		if t < 0 do t += 1;
+		if t > 1 do t -= 1;
 		switch {
 		switch {
 		case t < 1.0/6.0: return p + (q - p) * 6.0 * t;
 		case t < 1.0/6.0: return p + (q - p) * 6.0 * t;
 		case t < 1.0/2.0: return q;
 		case t < 1.0/2.0: return q;