aboutsummaryrefslogtreecommitdiffstats
path: root/linmath.h
diff options
context:
space:
mode:
Diffstat (limited to 'linmath.h')
-rw-r--r--linmath.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/linmath.h b/linmath.h
index 2cf047d..a1c66fa 100644
--- a/linmath.h
+++ b/linmath.h
@@ -465,6 +465,14 @@ static inline void quat_conj(quat r, quat q)
r[i] = -q[i];
r[3] = q[3];
}
+static inline void quat_rotate(quat r, float angle, vec3 axis) {
+ vec3 v;
+ vec3_scale(v, axis, sinf(angle / 2));
+ int i;
+ for(i=0; i<3; ++i)
+ r[i] = v[i];
+ r[3] = cosf(angle / 2);
+}
#define quat_norm vec4_norm
static inline void quat_mul_vec3(vec3 r, quat q, vec3 v)
{