From 619ecdc5a4652598fa9034a39eb770b23a425c1a Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Sat, 7 Apr 2018 13:46:46 +0300 Subject: [PATCH] quat: improve normalize --- include/cglm/quat.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/cglm/quat.h b/include/cglm/quat.h index 1a2cfe3..a9a3649 100644 --- a/include/cglm/quat.h +++ b/include/cglm/quat.h @@ -133,11 +133,12 @@ void glm_quat_normalize(versor q) { float sum; - sum = q[0] * q[0] + q[1] * q[1] - + q[2] * q[2] + q[3] * q[3]; + sum = glm_vec4_norm2(q); - if (fabs(1.0f - sum) < 0.0001f) + if (sum <= 0.0f) { + glm_quat_identity(q); return; + } glm_vec4_scale(q, 1.0f / sqrtf(sum), q); }