From 1ca42be4496a711a1b1e1ae6b550760688613a84 Mon Sep 17 00:00:00 2001 From: treeform Date: Tue, 10 Mar 2020 21:36:43 -0700 Subject: [PATCH] Add new quantize method for vec3. --- src/vmath.nim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vmath.nim b/src/vmath.nim index c13db87..94eaab9 100644 --- a/src/vmath.nim +++ b/src/vmath.nim @@ -303,6 +303,11 @@ proc distSq*(at: Vec3, to: Vec3): float32 = proc lerp*(a: Vec3, b: Vec3, v: float32): Vec3 = a * (1.0 - v) + b * v +proc quantize*(v: Vec3, n: float32): Vec3 = + result.x = sign(v.x) * floor(abs(v.x) / n) * n + result.y = sign(v.y) * floor(abs(v.y) / n) * n + result.z = sign(v.z) * floor(abs(v.z) / n) * n + proc angleBetween*(a, b: Vec3): float32 = var dot = dot(a, b) dot = dot / (a.length * b.length)