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