mirror of
https://github.com/recp/cglm.git
synced 2026-01-03 06:09:59 +00:00
quaternions
This commit is contained in:
@@ -41,7 +41,7 @@ glm_vec_dot(vec3 a, vec3 b) {
|
||||
|
||||
CGLM_INLINE
|
||||
float
|
||||
glm_vec_dot4(vec4 a, vec4 b) {
|
||||
glm_vec4_dot(vec4 a, vec4 b) {
|
||||
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
|
||||
}
|
||||
|
||||
@@ -60,6 +60,13 @@ glm_vec_norm(vec3 vec) {
|
||||
return sqrtf(vec[0] * vec[0] + vec[1] * vec[1] + vec[2] * vec[2]);
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
float
|
||||
glm_vec4_norm(vec3 vec) {
|
||||
return sqrtf(vec[0] * vec[0] + vec[1] * vec[1]
|
||||
+ vec[2] * vec[2] + vec[3] * vec[3]);
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec_normalize_to(vec3 vec, vec3 dest) {
|
||||
@@ -94,6 +101,24 @@ glm_vec_normalize(vec3 v) {
|
||||
v[2] = v[2] / norm;
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec4_normalize(vec4 v) {
|
||||
float norm;
|
||||
|
||||
norm = glm_vec_norm(v);
|
||||
|
||||
if (norm == 0.0f) {
|
||||
v[0] = v[1] = v[2] = v[3] = 0.0f;
|
||||
return;
|
||||
}
|
||||
|
||||
v[0] = v[0] / norm;
|
||||
v[1] = v[1] / norm;
|
||||
v[2] = v[2] / norm;
|
||||
v[3] = v[3] / norm;
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec_add(vec3 v1, vec3 v2, vec3 dest) {
|
||||
|
||||
Reference in New Issue
Block a user