tests: add test for quat_slerp

This commit is contained in:
Recep Aslantas
2019-09-26 19:57:00 +03:00
parent 212cf3b22d
commit 841257a208
2 changed files with 36 additions and 0 deletions

View File

@@ -707,3 +707,35 @@ TEST_IMPL(GLM_PREFIX, quat_lerpc) {
TEST_SUCCESS TEST_SUCCESS
} }
TEST_IMPL(GLM_PREFIX, quat_slerp) {
versor q1, q2, q3, q4;
vec3 v1 = {10.0f, 0.0f, 0.0f}, v2;
glm_quatv(q1, glm_rad(30.0f), v1);
glm_quatv(q2, glm_rad(90.0f), v1);
q1[0] = 10.0f;
GLM(quat_slerp)(q1, q2, 1.0f, q3);
ASSERTIFY(test_assert_quat_eq(q1, q3));
glm_quatv(q1, glm_rad(30.001), v1);
glm_quatv(q2, glm_rad(30.002), v1);
GLM(quat_slerp)(q1, q2, 0.7f, q3);
glm_quat_lerp(q1, q2, 0.7f, q4);
ASSERTIFY(test_assert_quat_eq(q3, q4));
glm_quatv(q1, glm_rad(30.0f), v1);
glm_quatv(q2, glm_rad(90.0f), v1);
GLM(quat_slerp)(q1, q2, 0.5f, q3);
glm_quat_axis(q3, v2);
glm_vec3_normalize(v1);
glm_vec3_normalize(v2);
ASSERT(glm_quat_angle(q3) > glm_rad(30.0f));
ASSERT(glm_quat_angle(q3) < glm_rad(90.0f));
ASSERTIFY(test_assert_vec3_eq(v1, v2))
TEST_SUCCESS
}

View File

@@ -158,6 +158,7 @@ TEST_DECLARE(glm_quat_mat3)
TEST_DECLARE(glm_quat_mat3t) TEST_DECLARE(glm_quat_mat3t)
TEST_DECLARE(glm_quat_lerp) TEST_DECLARE(glm_quat_lerp)
TEST_DECLARE(glm_quat_lerpc) TEST_DECLARE(glm_quat_lerpc)
TEST_DECLARE(glm_quat_slerp)
TEST_DECLARE(glmc_quat_identity) TEST_DECLARE(glmc_quat_identity)
TEST_DECLARE(glmc_quat_identity_array) TEST_DECLARE(glmc_quat_identity_array)
@@ -186,6 +187,7 @@ TEST_DECLARE(glmc_quat_mat3)
TEST_DECLARE(glmc_quat_mat3t) TEST_DECLARE(glmc_quat_mat3t)
TEST_DECLARE(glmc_quat_lerp) TEST_DECLARE(glmc_quat_lerp)
TEST_DECLARE(glmc_quat_lerpc) TEST_DECLARE(glmc_quat_lerpc)
TEST_DECLARE(glmc_quat_slerp)
/* bezier */ /* bezier */
TEST_DECLARE(bezier) TEST_DECLARE(bezier)
@@ -645,6 +647,7 @@ TEST_LIST {
TEST_ENTRY(glm_quat_mat3t) TEST_ENTRY(glm_quat_mat3t)
TEST_ENTRY(glm_quat_lerp) TEST_ENTRY(glm_quat_lerp)
TEST_ENTRY(glm_quat_lerpc) TEST_ENTRY(glm_quat_lerpc)
TEST_ENTRY(glm_quat_slerp)
TEST_ENTRY(glmc_quat_identity) TEST_ENTRY(glmc_quat_identity)
TEST_ENTRY(glmc_quat_identity_array) TEST_ENTRY(glmc_quat_identity_array)
@@ -673,6 +676,7 @@ TEST_LIST {
TEST_ENTRY(glmc_quat_mat3t) TEST_ENTRY(glmc_quat_mat3t)
TEST_ENTRY(glmc_quat_lerp) TEST_ENTRY(glmc_quat_lerp)
TEST_ENTRY(glmc_quat_lerpc) TEST_ENTRY(glmc_quat_lerpc)
TEST_ENTRY(glmc_quat_slerp)
/* bezier */ /* bezier */
TEST_ENTRY(bezier) TEST_ENTRY(bezier)