diff --git a/test/src/test_common.c b/test/src/test_common.c index 7afd42f..f4e0449 100644 --- a/test/src/test_common.c +++ b/test/src/test_common.c @@ -10,12 +10,20 @@ void test_rand_mat4(mat4 dest) { int i, j; + glm_mat4_copy(GLM_MAT4_IDENTITY, dest); + srand((unsigned int)time(NULL)); - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { - dest[i][j] = drand48(); - } - } + + /* random position */ + dest[3][0] = drand48(); + dest[3][0] = drand48(); + dest[3][0] = drand48(); + + /* random rotatation around random axis with random angle */ + glm_rotate(dest, drand48(), (vec3){drand48(), drand48(), drand48()}); + + /* random scale */ + glm_scale(dest, (vec3){drand48(), drand48(), drand48()}); } void @@ -27,7 +35,7 @@ test_assert_mat4_eq(mat4 m1, mat4 m2) { for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { for (k = 0; k < m; k++) - assert_true(fabsf(m1[i][j] - m2[i][j]) <= 0.0001); + assert_true(fabsf(m1[i][j] - m2[i][j]) <= FLT_EPSILON); } } #undef m