Commit Graph

188 Commits

Author SHA1 Message Date
Recep Aslantas
924d92ae3f Merge branch 'master' into feature/glm_vec3_make 2023-07-02 22:01:43 +03:00
Vincent Davis Jr
aeeeac4c5a vec3: add new function glm_vec3_make
Function takes in a float array. Array must be
at least of size 3 and converts it into
a 3D vector.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-07-02 13:25:25 -05:00
Vincent Davis Jr
5e798a94e3 test_quat: add more robust quat_make test
Makes it so that it's easier to identify
the potential usecase of function. Commit also
includes a fix to the struct/quat.h glms_quat_make
comment. Should be returning versors it's not
a void function.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-07-02 12:37:28 -05:00
Vincent Davis Jr
bfe5ea6ab7 quat: add new function glm_quat_make
Function takes in a 4 element float array
and converts it into a quaternion.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-06-28 22:49:49 -05:00
Recep Aslantas
768d36f4b6 suppress some warnings on tests 2023-06-12 13:15:47 +03:00
Recep Aslantas
31cbd41e3b Merge pull request #302 from EasyIP2023/feature/glm_mat3_make
mat3: add new function glm_mat3_make
2023-05-15 11:18:41 +03:00
Recep Aslantas
c691bc5bc0 Merge pull request #301 from EasyIP2023/feature/glm_mat2_make
mat2: add new function glm_mat2_make
2023-05-15 11:18:27 +03:00
Vincent Davis Jr
0566a040c0 mat3: add new function glm_mat3_make
Function takes in a 9 element float array
and converts it into a mat3 matrix.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-05-14 20:56:25 -05:00
Vincent Davis Jr
e6681e78c8 mat2: add new function glm_mat2_make
Function takes in a 4 element float array
and converts it into a mat2 matrix.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-05-14 20:30:36 -05:00
Vincent Davis Jr
e17f115f91 mat4: add new function glm_mat4_make
Function takes in a 16 element float array
and converts it into a mat4 matrix.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-05-14 20:10:48 -05:00
Recep Aslantas
9772948831 improve printing arch name in tests 2023-05-06 16:28:52 +03:00
Recep Aslantas
ed09fb5819 fix glm_arch_print_name and print it on tests 2023-05-06 14:58:45 +03:00
Recep Aslantas
c1ff76d3b1 fix existing tests build 2023-04-21 22:15:04 +03:00
myfreeer
07bc4be18b simd128: cmake options
After this, the required options for cmake are listed below:
```
-DCMAKE_C_FLAGS="-msimd128"
-DCMAKE_TOOLCHAIN_FILE=/path/to/wasi-sdk-19.0/share/cmake/wasi-sdk.cmake
-DWASI_SDK_PREFIX=/path/to/wasi-sdk-19.0
-DCGLM_USE_TEST=ON
```
If compiling to wasi with simd128 support, `-DCMAKE_C_FLAGS="-msimd128"` can be removed.
If tests are not needed, `-DCGLM_USE_TEST=ON` can be removed.
2023-04-02 13:09:00 +08:00
Simon Zeni
d001593f9c test_clamp: use glm_eq for floating point comparison
Fixes #266
2022-12-07 15:06:45 -05:00
Recep Aslantas
ac9461778c possible fix for https://github.com/recp/cglm/issues/266 2022-12-07 12:57:26 +03:00
duarm
a0f01c5ed1 new abs functions for vec2, ivec2, ivec3, ivec4 2022-11-18 14:28:39 -03:00
Recep Aslantas
2238fd127c win: suppress warnings for tests 2022-08-23 18:01:05 +03:00
Christopher Lang
838124af49 Declare varables at top of scope for ivec[2|3|4] 2022-05-20 17:30:54 +01:00
Christopher Lang
d1bdfde48d Add ivec4 tests 2022-05-20 14:42:42 +01:00
Christopher Lang
f27e26f632 Fix glm_ivec3 test 2022-05-20 14:41:59 +01:00
Christopher Lang
a3265ebe84 Fix glm_ivec3_one test 2022-05-20 14:27:30 +01:00
Christopher Lang
57ec29bd31 Update glm_ivec3 test 2022-05-20 14:26:49 +01:00
Christopher Lang
bffaa13bd5 Add ivec3 tests 2022-05-19 17:12:38 +01:00
Christopher Lang
cd4d0a1efe Update glm_ivec2_copy test 2022-05-19 17:11:58 +01:00
Christopher Lang
8916c50a3d Update glm_ivec2 test 2022-05-19 16:52:55 +01:00
Christopher Lang
db1a23d13c Add ivec2 tests 2022-05-17 22:27:38 +01:00
Christopher Lang
d582146d9a Add ivec3 and ivec4 files 2022-05-17 16:04:47 +01:00
Christopher Lang
ee09707c1c Fix ivec2 test 2022-05-17 15:53:37 +01:00
Christopher Lang
4c85b970a9 Add ivec2 files 2022-05-16 22:41:04 +01:00
Christopher Lang
495b98a54d Fix tests.h comments 2022-05-16 20:51:44 +01:00
Maxim Kasyanenko
522b18bda9 Add tests 2021-11-08 17:53:39 -08:00
Recep Aslantas
ef22e2063f win: fix build error and comment style 2021-08-16 00:54:37 +03:00
Sundaram Ramaswamy
ee5050f43c Tests for quaternion from two vec3 2021-06-10 23:15:10 +05:30
Sundaram Ramaswamy
c330b47ded Remove debug printf statements 2021-06-10 10:27:28 +05:30
Sundaram Ramaswamy
2e8162b133 Fix vec3_ortho 2021-06-09 23:18:32 +05:30
Tai Chi Minh Ralph Eastwood
7065011bf3 clipspace: add initial implementations LH, RH and NO, ZO
Add the initial implementations of the left-handed and right-handed
coordinate systems as well as clipspace depth values of [-1, 0] and
[0, 1].
2021-05-13 23:22:58 +02:00
michaelg
c013bd462c Add LH & RH_NO perspective functions
This commit adds functions `glm_perspective_lh_no` and
`glm_perspective_rh_no` to the code. Unit tests are added and this
commit follows the new pattern of adding the a new file per
coordinate-system and clip-space tuple.

. Makefile.am updated
. removed test/glm_cmp project stub
. unit tests include naive implementations to as well as magic number
  ref-data generated by the corresponding GLM functions.

No tests run yet on Windows or Mac.
2021-05-13 23:18:05 +02:00
michaelg
b3a18b8a15 Add glm_perspective_rh_zo function + tests
This commit adds the RH/ZO perspective function. It does so in the new
file `cam_rh_zo.h` and further refactors the LH variant into new file
`cam_lh_zo.h`. This creates some churn in the tests and configuration
files as new test files were added as well, and all these changes found
their way into the build files.

Tests passing on Linux.
2021-05-13 23:18:05 +02:00
michaelg
1bce62c371 Add function glm_perspective_lh_zo
This commit adds the function `glm_perspective_lh_zo`, modelled on the
implementation of glm_perspective, but amended to provide a left-hand
coordinate system expected by DirectX, Metal and Vulkan (per the GLM
project's `glm/detail/setup.hpp`). It uses a clip-space of zero-to-one.

The function is tested against a longhand version of the algorithm it
seeks to implement as well as against the output of the GLM project's
`glm::perspectiveLH_ZO` function. This commit adds a new subdirectory
`test/glm_cmp` which contains a basic CMake file and `main.cpp`. An
interested user should link or copy or clone the GLM project into this
directory. The `main` function can be used to print the reference data
used so others can verify behaviour in the future, or add new literal
reference values.
2021-05-13 23:18:05 +02:00
Recep Aslantas
a242d83805 style: rename nearVal, farVal to nearZ and farZ 2021-05-08 22:42:44 +03:00
Sundaram Ramaswamy
83dbdcc4a9 Add nlerp tests 2021-05-07 01:21:28 +05:30
Recep Aslantas
55ebbdbe40 arm, neon: neon/fma support for glm_inv_tr() 2021-04-28 14:46:14 +03:00
Randy
a9b06e4b35 gcc: fix warnings (#156) 2020-08-04 19:57:10 +03:00
Randy
208f8073ad test: don't link 'm' with msvc 2020-08-03 22:47:23 +02:00
Recep Aslantas
2242e9a5e1 2d: add tests for rotate2d and its friends 2020-07-31 18:21:23 +03:00
Recep Aslantas
0127d30fa8 2d: add scale2d and its friends 2020-07-31 13:49:33 +03:00
Recep Aslantas
9b13b2f872 add tests for translate2d functions 2020-07-31 12:43:46 +03:00
Recep Aslantas
40d903c2bc build: define CGLM_DEFINE_PRINTS to enable print functions for test results 2020-07-31 12:41:53 +03:00
Recep Aslantas
c0a4c245f0 tests: add test for frustum 2020-05-28 14:19:35 +03:00