mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
is uniform scaled func for mat4
This commit is contained in:
@@ -295,6 +295,23 @@ glm_decompose_scalev(mat4 m, vec3 s) {
|
|||||||
s[2] = glm_vec_norm(m[2]);
|
s[2] = glm_vec_norm(m[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief returns true if matrix is uniform scaled. This is helpful for
|
||||||
|
* creating normal matrix.
|
||||||
|
*
|
||||||
|
* @param m[in] m
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
bool
|
||||||
|
glm_uniscaled(mat4 m) {
|
||||||
|
vec3 s;
|
||||||
|
glm_decompose_scalev(m, s);
|
||||||
|
|
||||||
|
return glm_vec_eq_all(s);
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief decompose rotation matrix (mat4) and scale vector [Sx, Sy, Sz]
|
* @brief decompose rotation matrix (mat4) and scale vector [Sx, Sy, Sz]
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -73,10 +73,22 @@ glm_vec_eq(vec3 v, float val) {
|
|||||||
return v[0] == val && v[0] == v[1] && v[0] == v[2];
|
return v[0] == val && v[0] == v[1] && v[0] == v[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_INLINE
|
||||||
|
bool
|
||||||
|
glm_vec_eq_all(vec3 v) {
|
||||||
|
return v[0] == v[1] && v[0] == v[2];
|
||||||
|
}
|
||||||
|
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
bool
|
bool
|
||||||
glm_vec4_eq(vec4 v, float val) {
|
glm_vec4_eq(vec4 v, float val) {
|
||||||
return v[0] == val && v[0] == v[1] && v[0] == v[2] && v[0] == v[3];
|
return v[0] == val && v[0] == v[1] && v[0] == v[2] && v[0] == v[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_INLINE
|
||||||
|
bool
|
||||||
|
glm_vec4_eq_all(vec4 v) {
|
||||||
|
return v[0] == v[1] && v[0] == v[2] && v[0] == v[3];
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* cglm_vec_ext_h */
|
#endif /* cglm_vec_ext_h */
|
||||||
|
|||||||
Reference in New Issue
Block a user