new project function for projecting Z

someitmes we need to project z only. this function reduces a few calculations and parameters.
This commit is contained in:
Recep Aslantas
2022-10-21 10:20:03 +03:00
parent 45e176680f
commit ba66459708
7 changed files with 118 additions and 0 deletions

View File

@@ -114,6 +114,28 @@ glm_project(vec3 pos, mat4 m, vec4 vp, vec3 dest) {
#endif
}
/*!
* @brief map object's z coordinate to window coordinates
*
* Computing MVP:
* glm_mat4_mul(proj, view, viewProj);
* glm_mat4_mul(viewProj, model, MVP);
*
* @param[in] v object coordinates
* @param[in] m MVP matrix
*
* @returns projected z coordinate
*/
CGLM_INLINE
float
glm_project_z(vec3 v, mat4 m) {
#if CGLM_CONFIG_CLIP_CONTROL & CGLM_CLIP_CONTROL_ZO_BIT
return glm_project_z_zo(v, m);
#elif CGLM_CONFIG_CLIP_CONTROL & CGLM_CLIP_CONTROL_NO_BIT
return glm_project_z_no(v, m);
#endif
}
/*!
* @brief define a picking region
*