diff --git a/Makefile.am b/Makefile.am index 7776cb9..91f4eee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -243,11 +243,6 @@ test_tests_SOURCES=\ test/runner.c \ test/src/test_common.c \ test/src/tests.c \ - test/src/test_cam.c \ - test/src/test_cam_lh_zo.c \ - test/src/test_cam_rh_zo.c \ - test/src/test_cam_lh_no.c \ - test/src/test_cam_rh_no.c \ test/src/test_clamp.c \ test/src/test_euler.c \ test/src/test_bezier.c \ diff --git a/include/cglm/struct/box.h b/include/cglm/struct/box.h index 8356bf2..e7cd5af 100644 --- a/include/cglm/struct/box.h +++ b/include/cglm/struct/box.h @@ -31,7 +31,7 @@ glms_aabb_(transform)(vec3s box[2], mat4s m, vec3s dest[2]) { vec3 rawBox[2]; vec3 rawDest[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_aabb_transform(rawBox, m.raw, rawDest); glms_vec3_pack(dest, rawDest, 2); } @@ -53,10 +53,10 @@ glms_aabb_(merge)(vec3s box1[2], vec3s box2[2], vec3s dest[2]) { vec3 rawBox2[2]; vec3 rawDest[2]; - glms_vec3_unpack(rawBox1, box1, 2); - glms_vec3_unpack(rawBox2, box2, 2); + glms_vec3_(unpack)(rawBox1, box1, 2); + glms_vec3_(unpack)(rawBox2, box2, 2); glm_aabb_merge(rawBox1, rawBox2, rawDest); - glms_vec3_pack(dest, rawDest, 2); + glms_vec3_(pack)(dest, rawDest, 2); } /*! @@ -77,10 +77,10 @@ glms_aabb_(crop)(vec3s box[2], vec3s cropBox[2], vec3s dest[2]) { vec3 rawCropBox[2]; vec3 rawDest[2]; - glms_vec3_unpack(rawBox, box, 2); - glms_vec3_unpack(rawCropBox, cropBox, 2); + glms_vec3_(unpack)(rawBox, box, 2); + glms_vec3_(unpack)(rawCropBox, cropBox, 2); glm_aabb_crop(rawBox, rawCropBox, rawDest); - glms_vec3_pack(dest, rawDest, 2); + glms_vec3_(pack)(dest, rawDest, 2); } /*! @@ -101,8 +101,8 @@ glms_aabb_(crop_until)(vec3s box[2], vec3s cropBox[2], vec3s clampBox[2], vec3s dest[2]) { - glms_aabb_crop(box, cropBox, dest); - glms_aabb_merge(clampBox, dest, dest); + glms_aabb_(crop)(box, cropBox, dest); + glms_aabb_(merge)(clampBox, dest, dest); } /*! @@ -125,8 +125,8 @@ glms_aabb_(frustum)(vec3s box[2], vec4s planes[6]) { vec3 rawBox[2]; vec4 rawPlanes[6]; - glms_vec3_unpack(rawBox, box, 2); - glms_vec4_unpack(rawPlanes, planes, 6); + glms_vec3_(unpack)(rawBox, box, 2); + glms_vec4_(unpack)(rawPlanes, planes, 6); return glm_aabb_frustum(rawBox, rawPlanes); } @@ -138,8 +138,8 @@ glms_aabb_(frustum)(vec3s box[2], vec4s planes[6]) { CGLM_INLINE void glms_aabb_(invalidate)(vec3s box[2]) { - box[0] = glms_vec3_broadcast(FLT_MAX); - box[1] = glms_vec3_broadcast(-FLT_MAX); + box[0] = glms_vec3_(broadcast)(FLT_MAX); + box[1] = glms_vec3_(broadcast)(-FLT_MAX); } /*! @@ -151,7 +151,7 @@ CGLM_INLINE bool glms_aabb_(isvalid)(vec3s box[2]) { vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); return glm_aabb_isvalid(rawBox); } @@ -174,7 +174,7 @@ glms_aabb_(size)(vec3s box[2]) { CGLM_INLINE float glms_aabb_(radius)(vec3s box[2]) { - return glms_aabb_size(box) * 0.5f; + return glms_aabb_(size)(box) * 0.5f; } /*! @@ -186,7 +186,7 @@ glms_aabb_(radius)(vec3s box[2]) { CGLM_INLINE vec3s glms_aabb_(center)(vec3s box[2]) { - return glms_vec3_center(box[0], box[1]); + return glms_vec3_(center)(box[0], box[1]); } /*! @@ -201,8 +201,8 @@ glms_aabb_(aabb)(vec3s box[2], vec3s other[2]) { vec3 rawBox[2]; vec3 rawOther[2]; - glms_vec3_unpack(rawBox, box, 2); - glms_vec3_unpack(rawOther, other, 2); + glms_vec3_(unpack)(rawBox, box, 2); + glms_vec3_(unpack)(rawOther, other, 2); return glm_aabb_aabb(rawBox, rawOther); } @@ -220,7 +220,7 @@ bool glms_aabb_(sphere)(vec3s box[2], vec4s s) { vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); return glm_aabb_sphere(rawBox, s.raw); } @@ -235,7 +235,7 @@ bool glms_aabb_(point)(vec3s box[2], vec3s point) { vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); return glm_aabb_point(rawBox, point.raw); } @@ -251,8 +251,8 @@ glms_aabb_(contains)(vec3s box[2], vec3s other[2]) { vec3 rawBox[2]; vec3 rawOther[2]; - glms_vec3_unpack(rawBox, box, 2); - glms_vec3_unpack(rawOther, other, 2); + glms_vec3_(unpack)(rawBox, box, 2); + glms_vec3_(unpack)(rawOther, other, 2); return glm_aabb_contains(rawBox, rawOther); } diff --git a/include/cglm/struct/clipspace/ortho_lh_no.h b/include/cglm/struct/clipspace/ortho_lh_no.h index 5fcda54..4060e59 100644 --- a/include/cglm/struct/clipspace/ortho_lh_no.h +++ b/include/cglm/struct/clipspace/ortho_lh_no.h @@ -64,7 +64,7 @@ glms_ortho_aabb_lh_no(vec3s box[2]) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_lh_no(rawBox, dest.raw); return dest; @@ -87,7 +87,7 @@ glms_ortho_aabb_p_lh_no(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_p_lh_no(rawBox, padding, dest.raw); return dest; @@ -110,7 +110,7 @@ glms_ortho_aabb_pz_lh_no(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_pz_lh_no(rawBox, padding, dest.raw); return dest; diff --git a/include/cglm/struct/clipspace/ortho_lh_zo.h b/include/cglm/struct/clipspace/ortho_lh_zo.h index fe49247..b39a160 100644 --- a/include/cglm/struct/clipspace/ortho_lh_zo.h +++ b/include/cglm/struct/clipspace/ortho_lh_zo.h @@ -64,7 +64,7 @@ glms_ortho_aabb_lh_zo(vec3s box[2]) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_lh_zo(rawBox, dest.raw); return dest; @@ -87,7 +87,7 @@ glms_ortho_aabb_p_lh_zo(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_p_lh_zo(rawBox, padding, dest.raw); return dest; @@ -110,7 +110,7 @@ glms_ortho_aabb_pz_lh_zo(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_pz_lh_zo(rawBox, padding, dest.raw); return dest; diff --git a/include/cglm/struct/clipspace/ortho_rh_no.h b/include/cglm/struct/clipspace/ortho_rh_no.h index e88713f..ab491af 100644 --- a/include/cglm/struct/clipspace/ortho_rh_no.h +++ b/include/cglm/struct/clipspace/ortho_rh_no.h @@ -64,7 +64,7 @@ glms_ortho_aabb_rh_no(vec3s box[2]) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_rh_no(rawBox, dest.raw); return dest; @@ -87,7 +87,7 @@ glms_ortho_aabb_p_rh_no(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_p_rh_no(rawBox, padding, dest.raw); return dest; @@ -110,7 +110,7 @@ glms_ortho_aabb_pz_rh_no(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_pz_rh_no(rawBox, padding, dest.raw); return dest; diff --git a/include/cglm/struct/clipspace/ortho_rh_zo.h b/include/cglm/struct/clipspace/ortho_rh_zo.h index 8550b40..22848d9 100644 --- a/include/cglm/struct/clipspace/ortho_rh_zo.h +++ b/include/cglm/struct/clipspace/ortho_rh_zo.h @@ -64,7 +64,7 @@ glms_ortho_aabb_rh_zo(vec3s box[2]) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_rh_zo(rawBox, dest.raw); return dest; @@ -87,7 +87,7 @@ glms_ortho_aabb_p_rh_zo(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_p_rh_zo(rawBox, padding, dest.raw); return dest; @@ -110,7 +110,7 @@ glms_ortho_aabb_pz_rh_zo(vec3s box[2], float padding) { mat4s dest; vec3 rawBox[2]; - glms_vec3_unpack(rawBox, box, 2); + glms_vec3_(unpack)(rawBox, box, 2); glm_ortho_aabb_pz_rh_zo(rawBox, padding, dest.raw); return dest; diff --git a/include/cglm/struct/frustum.h b/include/cglm/struct/frustum.h index 2c51d6d..81b5b7b 100644 --- a/include/cglm/struct/frustum.h +++ b/include/cglm/struct/frustum.h @@ -57,7 +57,7 @@ void glms_frustum_planes(mat4s m, vec4s dest[6]) { vec4 rawDest[6]; glm_frustum_planes(m.raw, rawDest); - glms_vec4_pack(dest, rawDest, 6); + glms_vec4_(pack)(dest, rawDest, 6); } /*! @@ -88,7 +88,7 @@ void glms_frustum_corners(mat4s invMat, vec4s dest[8]) { vec4 rawDest[8]; glm_frustum_corners(invMat.raw, rawDest); - glms_vec4_pack(dest, rawDest, 8); + glms_vec4_(pack)(dest, rawDest, 8); } /*! @@ -103,7 +103,7 @@ glms_frustum_center(vec4s corners[8]) { vec4 rawCorners[8]; vec4s r; - glms_vec4_unpack(rawCorners, corners, 8); + glms_vec4_(unpack)(rawCorners, corners, 8); glm_frustum_center(rawCorners, r.raw); return r; } @@ -121,9 +121,9 @@ glms_frustum_box(vec4s corners[8], mat4s m, vec3s box[2]) { vec4 rawCorners[8]; vec3 rawBox[2]; - glms_vec4_unpack(rawCorners, corners, 8); + glms_vec4_(unpack)(rawCorners, corners, 8); glm_frustum_box(rawCorners, m.raw, rawBox); - glms_vec3_pack(box, rawBox, 2); + glms_vec3_(pack)(box, rawBox, 2); } /*! @@ -147,9 +147,9 @@ glms_frustum_corners_at(vec4s corners[8], vec4 rawCorners[8]; vec4 rawPlaneCorners[4]; - glms_vec4_unpack(rawCorners, corners, 8); + glms_vec4_(unpack)(rawCorners, corners, 8); glm_frustum_corners_at(rawCorners, splitDist, farDist, rawPlaneCorners); - glms_vec4_pack(planeCorners, rawPlaneCorners, 8); + glms_vec4_(pack)(planeCorners, rawPlaneCorners, 8); } #endif /* cglms_frustums_h */ diff --git a/include/cglm/struct/io.h b/include/cglm/struct/io.h index ec28129..6768b1c 100644 --- a/include/cglm/struct/io.h +++ b/include/cglm/struct/io.h @@ -75,7 +75,7 @@ glms_aabb_print(vec3s bbox[2], FILE * __restrict ostream) { vec3 rawBbox[2]; - glms_vec3_unpack(rawBbox, bbox, 2); + glms_vec3_(unpack)(rawBbox, bbox, 2); glm_aabb_print(rawBbox, tag, ostream); } diff --git a/include/cglm/struct/mat4.h b/include/cglm/struct/mat4.h index 2a122cb..6517f5c 100644 --- a/include/cglm/struct/mat4.h +++ b/include/cglm/struct/mat4.h @@ -240,7 +240,7 @@ glms_mat4_(mulN)(mat4s * __restrict matrices[], uint32_t len) { size_t i; for (i = 0; i < len; i++) { - r = glms_mat4_mul(r, *matrices[i]); + r = glms_mat4_(mul)(r, *matrices[i]); } return r; diff --git a/meson.build b/meson.build index 430e7b2..2005d2e 100644 --- a/meson.build +++ b/meson.build @@ -108,11 +108,6 @@ if get_option('build_tests') == true test_src = files( 'test/runner.c', 'test/src/test_bezier.c', - 'test/src/test_cam.c', - 'test/src/test_cam_lh_no.c', - 'test/src/test_cam_lh_zo.c', - 'test/src/test_cam_rh_no.c', - 'test/src/test_cam_rh_zo.c', 'test/src/test_clamp.c', 'test/src/test_common.c', 'test/src/test_euler.c', diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 0c76203..b90437a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,11 +5,6 @@ set(TESTFILES runner.c src/test_euler.c src/test_bezier.c - src/test_cam.c - src/test_cam_lh_zo.c - src/test_cam_rh_zo.c - src/test_cam_lh_no.c - src/test_cam_rh_no.c src/test_struct.c src/test_clamp.c src/test_common.c diff --git a/test/src/test_cam.c b/test/src/test_cam.c deleted file mode 100644 index b5fbf2b..0000000 --- a/test/src/test_cam.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c), Recep Aslantas. - * - * MIT License (MIT), http://opensource.org/licenses/MIT - * Full license can be found in the LICENSE file - */ - -#include "test_common.h" - -TEST_IMPL(camera_lookat) { - mat4 view1, view2; - vec3 center, - eye = {0.024f, 14.6f, 67.04f}, - dir = {0.0f, 0.0f, -1.0f}, - up = {0.0f, 1.0f, 0.0f}; - - glm_vec3_add(eye, dir, center); - glm_lookat(eye, center, up, view1); - - glm_look(eye, dir, up, view2); - - ASSERTIFY(test_assert_mat4_eq(view1, view2)) - - TEST_SUCCESS -} - -TEST_IMPL(camera_decomp) { - mat4 proj, proj2; - vec4 sizes; - float aspect, fovy, nearZ, farZ; - - aspect = 0.782f; - fovy = glm_rad(49.984f); - nearZ = 0.1f; - farZ = 100.0f; - - glm_perspective(fovy, aspect, nearZ, farZ, proj); - ASSERT(fabsf(aspect - glm_persp_aspect(proj)) < GLM_FLT_EPSILON) - ASSERT(fabsf(fovy - glm_persp_fovy(proj)) < GLM_FLT_EPSILON) - ASSERT(fabsf(49.984f - glm_deg(glm_persp_fovy(proj))) < GLM_FLT_EPSILON) - - glm_persp_sizes(proj, fovy, sizes); - - glm_frustum(-sizes[0] * 0.5f, - sizes[0] * 0.5f, - -sizes[1] * 0.5f, - sizes[1] * 0.5f, - nearZ, - farZ, - proj2); - - ASSERTIFY(test_assert_mat4_eq(proj, proj2)) - - TEST_SUCCESS -} diff --git a/test/src/test_camera.h b/test/src/test_cam.h similarity index 57% rename from test/src/test_camera.h rename to test/src/test_cam.h index fb1075a..9558b6f 100644 --- a/test/src/test_camera.h +++ b/test/src/test_cam.h @@ -11,16 +11,16 @@ TEST_IMPL(GLM_PREFIX, frustum) { mat4 proj; vec4 vp = {0.0f, 0.0f, 800.0f, 600.0f}; float left, right, top, bottom, znear, zfar; - + znear = 0.1f; zfar = 100.0f; left = -100.0f; right = 100.0f; bottom = -100.0f; top = 100.0f; - + GLM(frustum)(left, right, bottom, top, znear, zfar, proj); - + ASSERT(test_eq(proj[0][1], 0.0f)) ASSERT(test_eq(proj[0][2], 0.0f)) ASSERT(test_eq(proj[0][3], 0.0f)) @@ -42,22 +42,22 @@ TEST_IMPL(GLM_PREFIX, frustum) { /* perspective test */ GLM(mat4_mulv)(proj, v1, v3); GLM(project)(v3, proj, vp, v3); - + ASSERT(v3[0] > v1[0]) ASSERT(v3[1] > v1[1]) - + GLM(mat4_mulv)(proj, v2, v4); GLM(project)(v4, proj, vp, v4); - + ASSERT(v4[0] < v3[0]) ASSERT(v4[1] < v3[1]) - + /* not infinity */ ASSERT(!GLM(vec4_isinf)(proj[0])) ASSERT(!GLM(vec4_isinf)(proj[1])) ASSERT(!GLM(vec4_isinf)(proj[2])) ASSERT(!GLM(vec4_isinf)(proj[3])) - + /* not NaN */ ASSERT(!GLM(vec4_isnan)(proj[0])) ASSERT(!GLM(vec4_isnan)(proj[1])) @@ -66,3 +66,50 @@ TEST_IMPL(GLM_PREFIX, frustum) { TEST_SUCCESS } + +TEST_IMPL(GLM_PREFIX, camera_lookat) { + mat4 view1, view2; + vec3 center, + eye = {0.024f, 14.6f, 67.04f}, + dir = {0.0f, 0.0f, -1.0f}, + up = {0.0f, 1.0f, 0.0f}; + + glm_vec3_add(eye, dir, center); + glm_lookat(eye, center, up, view1); + + glm_look(eye, dir, up, view2); + + ASSERTIFY(test_assert_mat4_eq(view1, view2)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, camera_decomp) { + mat4 proj, proj2; + vec4 sizes; + float aspect, fovy, nearZ, farZ; + + aspect = 0.782f; + fovy = glm_rad(49.984f); + nearZ = 0.1f; + farZ = 100.0f; + + glm_perspective(fovy, aspect, nearZ, farZ, proj); + ASSERT(fabsf(aspect - glm_persp_aspect(proj)) < GLM_FLT_EPSILON) + ASSERT(fabsf(fovy - glm_persp_fovy(proj)) < GLM_FLT_EPSILON) + ASSERT(fabsf(49.984f - glm_deg(glm_persp_fovy(proj))) < GLM_FLT_EPSILON) + + glm_persp_sizes(proj, fovy, sizes); + + glm_frustum(-sizes[0] * 0.5f, + sizes[0] * 0.5f, + -sizes[1] * 0.5f, + sizes[1] * 0.5f, + nearZ, + farZ, + proj2); + + ASSERTIFY(test_assert_mat4_eq(proj, proj2)) + + TEST_SUCCESS +} diff --git a/test/src/test_cam_lh_no.c b/test/src/test_cam_lh_no.h similarity index 81% rename from test/src/test_cam_lh_no.c rename to test/src/test_cam_lh_no.h index 33a285a..d282a1a 100644 --- a/test/src/test_cam_lh_no.c +++ b/test/src/test_cam_lh_no.h @@ -6,15 +6,17 @@ */ #include "test_common.h" +#include "../../include/cglm/clipspace/persp_lh_no.h" +#include "../../include/cglm/call/clipspace/persp_lh_no.h" -TEST_IMPL(perspective_lh_no) { +TEST_IMPL(GLM_PREFIX, perspective_lh_no) { mat4 dst; const float fovy = glm_rad(45.0f); const float aspect = 640/480.0f; const float zNearVal = 0.1f; const float zFarVal = 100.0f; - glm_perspective_lh_no(fovy, aspect, zNearVal, zFarVal, dst); + GLM(perspective_lh_no)(fovy, aspect, zNearVal, zFarVal, dst); /* Sanity mk. I: longhand version */ ASSERT(test_eq(dst[0][0], 1.0f / (tanf(fovy / 2) * aspect))) diff --git a/test/src/test_cam_lh_zo.c b/test/src/test_cam_lh_zo.h similarity index 81% rename from test/src/test_cam_lh_zo.c rename to test/src/test_cam_lh_zo.h index f5f50af..98be0fb 100644 --- a/test/src/test_cam_lh_zo.c +++ b/test/src/test_cam_lh_zo.h @@ -6,15 +6,17 @@ */ #include "test_common.h" +#include "../../include/cglm/clipspace/persp_lh_zo.h" +#include "../../include/cglm/call/clipspace/persp_lh_zo.h" -TEST_IMPL(perspective_lh_zo) { +TEST_IMPL(GLM_PREFIX, perspective_lh_zo) { mat4 dst; const float fovy = glm_rad(45.0f); const float aspect = 640/480.0f; const float zNearVal = 0.1f; const float zFarVal = 100.0f; - glm_perspective_lh_zo(fovy, aspect, zNearVal, zFarVal, dst); + GLM(perspective_lh_zo)(fovy, aspect, zNearVal, zFarVal, dst); /* Sanity mk. I: longhand version */ ASSERT(test_eq(dst[0][0], 1.0f / (tanf(fovy / 2) * aspect))) diff --git a/test/src/test_cam_rh_no.c b/test/src/test_cam_rh_no.h similarity index 81% rename from test/src/test_cam_rh_no.c rename to test/src/test_cam_rh_no.h index 2bcadcd..1fcd597 100644 --- a/test/src/test_cam_rh_no.c +++ b/test/src/test_cam_rh_no.h @@ -6,15 +6,17 @@ */ #include "test_common.h" +#include "../../include/cglm/clipspace/persp_rh_no.h" +#include "../../include/cglm/call/clipspace/persp_rh_no.h" -TEST_IMPL(perspective_rh_no) { +TEST_IMPL(GLM_PREFIX, perspective_rh_no) { mat4 dst; const float fovy = glm_rad(45.0f); const float aspect = 640/480.0f; const float zNearVal = 0.1f; const float zFarVal = 100.0f; - glm_perspective_rh_no(fovy, aspect, zNearVal, zFarVal, dst); + GLM(perspective_rh_no)(fovy, aspect, zNearVal, zFarVal, dst); /* Sanity mk. I: longhand version */ ASSERT(test_eq(dst[0][0], 1.0f / (tanf(fovy / 2) * aspect))) diff --git a/test/src/test_cam_rh_zo.c b/test/src/test_cam_rh_zo.h similarity index 80% rename from test/src/test_cam_rh_zo.c rename to test/src/test_cam_rh_zo.h index 95281a7..76f72ea 100644 --- a/test/src/test_cam_rh_zo.c +++ b/test/src/test_cam_rh_zo.h @@ -6,15 +6,17 @@ */ #include "test_common.h" +#include "../../include/cglm/clipspace/persp_rh_zo.h" +#include "../../include/cglm/call/clipspace/persp_rh_zo.h" -TEST_IMPL(perspective_rh_zo) { +TEST_IMPL(GLM_PREFIX, perspective_rh_zo) { mat4 dst; const float fovy = glm_rad(45.0f); const float aspect = 640/480.0f; const float zNearVal = 0.1f; const float zFarVal = 100.0f; - glm_perspective_rh_zo(fovy, aspect, zNearVal, zFarVal, dst); + GLM(perspective_rh_zo)(fovy, aspect, zNearVal, zFarVal, dst); /* Sanity mk. I: longhand version */ ASSERT(test_eq(dst[0][0], 1 / (tanf(fovy / 2) * aspect))) diff --git a/test/src/test_common.h b/test/src/test_common.h index 9162a8d..841f77b 100644 --- a/test/src/test_common.h +++ b/test/src/test_common.h @@ -10,6 +10,10 @@ #include "../include/common.h" +#if !defined(_WIN32) && !defined(_MSC_VER) +# pragma GCC diagnostic ignored "-Wstrict-prototypes" +#endif + void test_rand_mat4(mat4 dest); diff --git a/test/src/tests.c b/test/src/tests.c index 1505e32..580454e 100644 --- a/test/src/tests.c +++ b/test/src/tests.c @@ -28,7 +28,11 @@ #include "test_affine2d.h" #include "test_affine_mat.h" #include "test_ray.h" -#include "test_camera.h" +#include "test_cam.h" +#include "test_cam_lh_no.h" +#include "test_cam_lh_zo.h" +#include "test_cam_rh_no.h" +#include "test_cam_rh_zo.h" #undef GLM #undef GLM_PREFIX @@ -55,7 +59,11 @@ #include "test_affine2d.h" #include "test_affine_mat.h" #include "test_ray.h" -#include "test_camera.h" +#include "test_cam.h" +#include "test_cam_lh_no.h" +#include "test_cam_lh_zo.h" +#include "test_cam_rh_no.h" +#include "test_cam_rh_zo.h" #undef GLM #undef GLM_PREFIX diff --git a/test/tests.h b/test/tests.h index 659a98e..035ac33 100644 --- a/test/tests.h +++ b/test/tests.h @@ -223,12 +223,19 @@ TEST_DECLARE(glmc_mat2_swap_row) TEST_DECLARE(glmc_mat2_rmc) /* camera (incl [LR]H cross [NZ]O) */ -TEST_DECLARE(perspective_lh_zo) -TEST_DECLARE(perspective_rh_zo) -TEST_DECLARE(perspective_lh_no) -TEST_DECLARE(perspective_rh_no) -TEST_DECLARE(camera_lookat) -TEST_DECLARE(camera_decomp) +TEST_DECLARE(glm_perspective_lh_zo) +TEST_DECLARE(glm_perspective_rh_zo) +TEST_DECLARE(glm_perspective_lh_no) +TEST_DECLARE(glm_perspective_rh_no) +TEST_DECLARE(glm_camera_lookat) +TEST_DECLARE(glm_camera_decomp) + +TEST_DECLARE(glmc_perspective_lh_zo) +TEST_DECLARE(glmc_perspective_rh_zo) +TEST_DECLARE(glmc_perspective_lh_no) +TEST_DECLARE(glmc_perspective_rh_no) +TEST_DECLARE(glmc_camera_lookat) +TEST_DECLARE(glmc_camera_decomp) TEST_DECLARE(glm_frustum) @@ -1057,12 +1064,19 @@ TEST_LIST { TEST_ENTRY(glmc_mat2_rmc) /* camera (incl [LR]H cross [NZ]O) */ - TEST_ENTRY(perspective_lh_zo) - TEST_ENTRY(perspective_rh_zo) - TEST_ENTRY(perspective_lh_no) - TEST_ENTRY(perspective_rh_no) - TEST_ENTRY(camera_lookat) - TEST_ENTRY(camera_decomp) + TEST_ENTRY(glm_perspective_lh_zo) + TEST_ENTRY(glm_perspective_rh_zo) + TEST_ENTRY(glm_perspective_lh_no) + TEST_ENTRY(glm_perspective_rh_no) + TEST_ENTRY(glm_camera_lookat) + TEST_ENTRY(glm_camera_decomp) + + TEST_ENTRY(glmc_perspective_lh_zo) + TEST_ENTRY(glmc_perspective_rh_zo) + TEST_ENTRY(glmc_perspective_lh_no) + TEST_ENTRY(glmc_perspective_rh_no) + TEST_ENTRY(glmc_camera_lookat) + TEST_ENTRY(glmc_camera_decomp) TEST_ENTRY(glm_frustum) diff --git a/win/cglm-test.vcxproj b/win/cglm-test.vcxproj index 97a3eda..69017a5 100644 --- a/win/cglm-test.vcxproj +++ b/win/cglm-test.vcxproj @@ -46,11 +46,6 @@ - - - - - @@ -61,7 +56,11 @@ - + + + + + @@ -72,10 +71,10 @@ + - diff --git a/win/cglm-test.vcxproj.filters b/win/cglm-test.vcxproj.filters index b67b1f8..ade5d3e 100644 --- a/win/cglm-test.vcxproj.filters +++ b/win/cglm-test.vcxproj.filters @@ -17,9 +17,6 @@ src - - src - src @@ -35,18 +32,6 @@ src - - src - - - src - - - src - - - src - @@ -58,46 +43,28 @@ include - - src - - - src - - - src - - - src - - - src - - - src - src src - - src - - - src - - - src - - - src - src - + + src + + + src + + + src + + + src + + src @@ -109,5 +76,35 @@ src + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + \ No newline at end of file