Browse Source

Fix quaternion casting

gingerBill 3 years ago
parent
commit
f15bb0b424
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/math/linalg/glsl/linalg_glsl.odin

+ 2 - 2
core/math/linalg/glsl/linalg_glsl.odin

@@ -1597,7 +1597,7 @@ quatNlerp :: proc "c" (a, b: quat, t: f32) -> (c: quat) {
 	c.y = a.y + (b.y-a.y)*t
 	c.y = a.y + (b.y-a.y)*t
 	c.z = a.z + (b.z-a.z)*t
 	c.z = a.z + (b.z-a.z)*t
 	c.w = a.w + (b.w-a.w)*t
 	c.w = a.w + (b.w-a.w)*t
-	return c/builtin.abs(c)
+	return c/quat(builtin.abs(c))
 }
 }
 
 
 quatSlerp :: proc "c" (x, y: quat, t: f32) -> (q: quat) {
 quatSlerp :: proc "c" (x, y: quat, t: f32) -> (q: quat) {
@@ -1699,7 +1699,7 @@ dquatNlerp :: proc "c" (a, b: dquat, t: f64) -> (c: dquat) {
 	c.y = a.y + (b.y-a.y)*t
 	c.y = a.y + (b.y-a.y)*t
 	c.z = a.z + (b.z-a.z)*t
 	c.z = a.z + (b.z-a.z)*t
 	c.w = a.w + (b.w-a.w)*t
 	c.w = a.w + (b.w-a.w)*t
-	return c/builtin.abs(c)
+	return c/dquat(builtin.abs(c))
 }
 }
 
 
 dquatSlerp :: proc "c" (x, y: dquat, t: f64) -> (q: dquat) {
 dquatSlerp :: proc "c" (x, y: dquat, t: f64) -> (q: dquat) {