New Features:
2D Affine Transforms
Now we have 2D Affine Transform functions. 2D Transform functions are suffixed with 2d, functions that don't have any suffixes are 3D. For instance glm_translate2d()
is 2D and glm_translate()
is 3D.
New Functions:
Translate2D:
glm_translate2d()
glm_translate2d_to()
glm_translate2d_x()
glm_translate2d_y()
glm_translate2d_make()
Scale2D:
glm_scale2d_to()
glm_scale2d_make()
glm_scale2d()
glm_scale2d_uni()
Rotate2D:
glm_rotate2d_make()
glm_rotate2d()
glm_rotate2d_to()
All these functions are documented at https://cglm.readthedocs.io/en/latest/affine2d.html . Rotate functions are rotating around Z axes. SIMD optimizations will be applied in the future releases.
Bugfixes and Improvements:
- mat3_mulv: function behaviour to match with mat4 ( thanks to @terri00 )
- mat2: don't use vec4 directly on mat2 because of alignment requirements may be different
- define
CGLM_DEFINE_PRINTS
macro for test targets to see printed results - documentation fixes
Build:
- build: update CFLAGS (-O3 -std=gnu11) for check/test target to match the main target
- build: remove RTC1 from CMake build for Windows/MSVC