diff --git a/core/math/linalg/extended.odin b/core/math/linalg/extended.odin index c2bf5552a..24b7a90fc 100644 --- a/core/math/linalg/extended.odin +++ b/core/math/linalg/extended.odin @@ -426,14 +426,14 @@ distance :: proc(p0, p1: $V/[$N]$E) -> E where IS_NUMERIC(E) { } reflect :: proc(I, N: $T) -> (out: T) where IS_ARRAY(T), IS_FLOAT(ELEM_TYPE(T)) { - b := n * (2 * dot(n, i)) - return i - b + b := N * (2 * dot(N, I)) + return I - b } refract :: proc(I, N: $T) -> (out: T) where IS_ARRAY(T), IS_FLOAT(ELEM_TYPE(T)) { - dv := dot(n, i) + dv := dot(N, I) k := 1 - eta*eta - (1 - dv*dv) - a := i * eta - b := n * eta*dv*math.sqrt(k) + a := I * eta + b := N * eta*dv*math.sqrt(k) return (a - b) * E(int(k >= 0)) }