Add vec3_rotate and vec3_mul_vec3.
This commit is contained in:
15
cpp/math.cpp
15
cpp/math.cpp
@ -15,6 +15,21 @@
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
void rk_vec3_rotate(
|
||||
rk_vec3 & ret,
|
||||
rk_vec3 const & vec3,
|
||||
rk_vec3 const & axis,
|
||||
float const angle) {
|
||||
ret = glm::angleAxis(angle, axis) * vec3;
|
||||
}
|
||||
|
||||
void rk_vec3_mul_vec3(
|
||||
rk_vec3 & ret,
|
||||
rk_vec3 const & a,
|
||||
rk_vec3 const & b) {
|
||||
ret = a * b;
|
||||
}
|
||||
|
||||
void rk_mat3_rotation(
|
||||
rk_mat3 & ret,
|
||||
rk_vec3 const & axis,
|
||||
|
11
cpp/math.hpp
11
cpp/math.hpp
@ -26,6 +26,17 @@ typedef glm::vec4 rk_vec4;
|
||||
typedef glm::mat3 rk_mat3;
|
||||
typedef glm::mat4 rk_mat4;
|
||||
|
||||
RK_EXPORT void rk_vec3_rotate(
|
||||
rk_vec3 & ret,
|
||||
rk_vec3 const & vec3,
|
||||
rk_vec3 const & axis,
|
||||
float const angle);
|
||||
|
||||
RK_EXPORT void rk_vec3_mul_vec3(
|
||||
rk_vec3 & ret,
|
||||
rk_vec3 const & a,
|
||||
rk_vec3 const & b);
|
||||
|
||||
RK_EXPORT void rk_mat3_rotation(
|
||||
rk_mat3 & ret,
|
||||
rk_vec3 const & axis,
|
||||
|
Reference in New Issue
Block a user