mirror of
https://github.com/recp/cglm.git
synced 2025-10-04 09:08:53 +00:00
tests: add test for quat_slerp
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user