mirror of
https://github.com/recp/cglm.git
synced 2025-12-26 10:35:10 +00:00
tests: add more tests for vec3
This commit is contained in:
@@ -996,6 +996,27 @@ glm_vec3_smoothinterpc(vec3 from, vec3 to, float t, vec3 dest) {
|
||||
glm_vec3_smoothinterp(from, to, glm_clamp_zo(t), dest);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief swizzle vector components
|
||||
*
|
||||
* you can use existin masks e.g. GLM_XXX, GLM_ZYX
|
||||
*
|
||||
* @param[in] v source
|
||||
* @param[in] mask mask
|
||||
* @param[out] dest destination
|
||||
*/
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec3_swizzle(vec3 v, int mask, vec3 dest) {
|
||||
vec3 t;
|
||||
|
||||
t[0] = v[(mask & (3 << 0))];
|
||||
t[1] = v[(mask & (3 << 2)) >> 2];
|
||||
t[2] = v[(mask & (3 << 4)) >> 4];
|
||||
|
||||
glm_vec3_copy(t, dest);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief vec3 cross product
|
||||
*
|
||||
@@ -1054,25 +1075,4 @@ glm_normalize_to(vec3 v, vec3 dest) {
|
||||
glm_vec3_normalize_to(v, dest);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief swizzle vector components
|
||||
*
|
||||
* you can use existin masks e.g. GLM_XXX, GLM_ZYX
|
||||
*
|
||||
* @param[in] v source
|
||||
* @param[in] mask mask
|
||||
* @param[out] dest destination
|
||||
*/
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec3_swizzle(vec3 v, int mask, vec3 dest) {
|
||||
vec3 t;
|
||||
|
||||
t[0] = v[(mask & (3 << 0))];
|
||||
t[1] = v[(mask & (3 << 2)) >> 2];
|
||||
t[2] = v[(mask & (3 << 4)) >> 4];
|
||||
|
||||
glm_vec3_copy(t, dest);
|
||||
}
|
||||
|
||||
#endif /* cglm_vec3_h */
|
||||
|
||||
Reference in New Issue
Block a user