mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
view frustum center
This commit is contained in:
@@ -56,6 +56,10 @@ CGLM_EXPORT
|
|||||||
void
|
void
|
||||||
glmc_frustum_corners(mat4 invMat, vec4 dest[8]);
|
glmc_frustum_corners(mat4 invMat, vec4 dest[8]);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_frustum_center(vec4 corners[8], vec4 dest);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -503,4 +503,27 @@ glm_frustum_corners(mat4 invMat, vec4 dest[8]) {
|
|||||||
glm_vec4_scale(dest[7], 1.0f / dest[7][3], dest[7]);
|
glm_vec4_scale(dest[7], 1.0f / dest[7][3], dest[7]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief finds center of view frustum
|
||||||
|
*
|
||||||
|
* @param[in] corners view frustum corners
|
||||||
|
* @param[out] dest view frustum center
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_frustum_center(vec4 corners[8], vec4 dest) {
|
||||||
|
glm_vec4_broadcast(0.0f, dest);
|
||||||
|
|
||||||
|
glm_vec4_add(corners[0], dest, dest);
|
||||||
|
glm_vec4_add(corners[1], dest, dest);
|
||||||
|
glm_vec4_add(corners[2], dest, dest);
|
||||||
|
glm_vec4_add(corners[3], dest, dest);
|
||||||
|
glm_vec4_add(corners[4], dest, dest);
|
||||||
|
glm_vec4_add(corners[5], dest, dest);
|
||||||
|
glm_vec4_add(corners[6], dest, dest);
|
||||||
|
glm_vec4_add(corners[7], dest, dest);
|
||||||
|
|
||||||
|
glm_vec4_scale(dest, 0.125f, dest);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* cglm_vcam_h */
|
#endif /* cglm_vcam_h */
|
||||||
|
|||||||
@@ -78,3 +78,9 @@ void
|
|||||||
glmc_frustum_corners(mat4 invMat, vec4 dest[8]) {
|
glmc_frustum_corners(mat4 invMat, vec4 dest[8]) {
|
||||||
glm_frustum_corners(invMat, dest);
|
glm_frustum_corners(invMat, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_frustum_center(vec4 corners[8], vec4 dest) {
|
||||||
|
glm_frustum_center(corners, dest);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user