mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
quat: optimize normalize quat
This commit is contained in:
@@ -58,7 +58,7 @@ glm_quat_norm(versor q) {
|
|||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
void
|
void
|
||||||
glm_quat_normalize(versor q) {
|
glm_quat_normalize(versor q) {
|
||||||
float sum, norm;
|
float sum;
|
||||||
|
|
||||||
sum = q[0] * q[0] + q[1] * q[1]
|
sum = q[0] * q[0] + q[1] * q[1]
|
||||||
+ q[2] * q[2] + q[3] * q[3];
|
+ q[2] * q[2] + q[3] * q[3];
|
||||||
@@ -66,12 +66,7 @@ glm_quat_normalize(versor q) {
|
|||||||
if (fabs(1.0f - sum) < 0.0001f)
|
if (fabs(1.0f - sum) < 0.0001f)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
norm = sqrtf(sum);
|
glm_vec4_scale(q, 1.0f / sqrtf(sum), q);
|
||||||
|
|
||||||
q[0] = q[0] / norm;
|
|
||||||
q[1] = q[1] / norm;
|
|
||||||
q[2] = q[2] / norm;
|
|
||||||
q[3] = q[3] / norm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
|
|||||||
Reference in New Issue
Block a user