mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
quat: remove _init from quat initializer and provide vector initialiizer
This commit is contained in:
@@ -15,17 +15,39 @@
|
|||||||
|
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
void
|
void
|
||||||
glm_quat_init(versor q,
|
glm_quat(versor q,
|
||||||
float angle,
|
float angle,
|
||||||
float x,
|
float x,
|
||||||
float y,
|
float y,
|
||||||
float z) {
|
float z) {
|
||||||
q[0] = cosf(angle / 2.0f);
|
float a, c, s;
|
||||||
q[1] = sinf(angle / 2.0f) * x;
|
|
||||||
q[2] = sinf(angle / 2.0f) * y;
|
a = angle / 2.0f;
|
||||||
q[3] = sinf(angle / 2.0f) * z;
|
c = cosf(a);
|
||||||
|
s = sinf(a);
|
||||||
|
|
||||||
|
q[0] = c;
|
||||||
|
q[1] = s * x;
|
||||||
|
q[2] = s * y;
|
||||||
|
q[3] = s * z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_quatv(versor q,
|
||||||
|
float angle,
|
||||||
|
vec3 v) {
|
||||||
|
float a, c, s;
|
||||||
|
|
||||||
|
a = angle / 2.0f;
|
||||||
|
c = cosf(a);
|
||||||
|
s = sinf(a);
|
||||||
|
|
||||||
|
q[0] = c;
|
||||||
|
q[1] = s * v[0];
|
||||||
|
q[2] = s * v[1];
|
||||||
|
q[3] = s * v[2];
|
||||||
|
}
|
||||||
|
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
float
|
float
|
||||||
|
|||||||
Reference in New Issue
Block a user