diff --git a/core/math/linalg/specific.odin b/core/math/linalg/specific.odin index 4eca42000..7aad55a11 100644 --- a/core/math/linalg/specific.odin +++ b/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 { 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 { case t < 1.0/6.0: return p + (q - p) * 6.0 * t; case t < 1.0/2.0: return q;