Add mat4_projection and mat4_lookat.
This commit is contained in:
16
cpp/math.cpp
16
cpp/math.cpp
@ -38,6 +38,22 @@ void rk_mat3_mul_mat3(
|
||||
ret = a * b;
|
||||
}
|
||||
|
||||
void rk_mat4_projection(
|
||||
rk_mat4 & ret,
|
||||
float hfov,
|
||||
float ratio,
|
||||
float near,
|
||||
float far) {
|
||||
ret = glm::perspectiveRH(hfov, ratio, near, far);
|
||||
}
|
||||
|
||||
void rk_mat4_lookat(
|
||||
rk_mat4 & ret,
|
||||
rk_vec3 const & position,
|
||||
rk_vec3 const & lookat) {
|
||||
ret = glm::lookAtRH(position, lookat, glm::vec3(0.0f, 0.0f, 1.0f));
|
||||
}
|
||||
|
||||
void rk_mat4_mul_vec4(
|
||||
rk_vec4 & ret,
|
||||
rk_mat4 const & a,
|
||||
|
12
cpp/math.hpp
12
cpp/math.hpp
@ -41,6 +41,18 @@ RK_EXPORT void rk_mat3_mul_mat3(
|
||||
rk_mat3 const & a,
|
||||
rk_mat3 const & b);
|
||||
|
||||
RK_EXPORT void rk_mat4_projection(
|
||||
rk_mat4 & ret,
|
||||
float hfov,
|
||||
float ratio,
|
||||
float near,
|
||||
float far);
|
||||
|
||||
RK_EXPORT void rk_mat4_lookat(
|
||||
rk_mat4 & ret,
|
||||
rk_vec3 const & position,
|
||||
rk_vec3 const & lookat);
|
||||
|
||||
RK_EXPORT void rk_mat4_mul_vec4(
|
||||
rk_vec4 & ret,
|
||||
rk_mat4 const & a,
|
||||
|
Reference in New Issue
Block a user