🚀 More Optimizations and SIMD fixes for MSVC & ARM
In this release more optimizations and fixes added:
📌 msvc, simd: fix simd headers for _M_ARM64EC
📌 arm, neon: fix neon support on GCC ARM
📌 msvc bug: dont align types due to "ARM32 = C2719: formal parameter ..."
📌 more optimizations for mat4 / mat3 inv
📌 sse: make use of int domain as default behavior if possible ( compiler may ignore it )
📌 avx: implement transpose with AVX
📌 avx: optimize avx mat4 scale and mat4 mul
📌 win: suppress C4996; use snprintf() instead of sprintf()
and many others improvements and bugfixes
🎓 Noise
Now we have perlin noise ( thanks to @MarcinKonowalczyk )
🛠️ Bugfixes and Improvements:
- #416: added quat_slerp_longest ( thanks to @telephone001 )
glm_quat_slerp_longest()
: similar toglm_quat_slerp()
but always takes the longest path
- #420: Fixed 'missing-prototypes' warnings for some vec2 funcs ( thanks to @not-kaz )
- #421: mat4: wasm simd128 for glm_mat4_inv ( thanks to @myfreeer )
- #423: Reduce typo count ( thanks to @waywardmonkeys )
- #430: Bump CMake minimum version to 3.13 ( thanks to @nitrix )
- #438: Remove .vscode and .gitmodules ( thanks to @master30f )
- #437: Restructure and rephrase README ( thanks to @master30f )
- #442: Rename struct/aabb2d.h functions to match aabb2d.h, add tests ( thanks to @duarm )
glms_aabb2d_size()
->glms_aabb2d_diag()
: distance between of min and max
- #441: Implement Perlin noise ( thanks to @MarcinKonowalczyk )
float glmc_perlin_vec[2|3|4](vec[2|3|4] point)
:
- #441: Add Some missing vec funcs, tests and doc ( thanks to @MarcinKonowalczyk )
- rename
glm_vec3_step_uni()
-->glm_vec3_steps()
glm_vec4_stepr()
similar toglm_vec4_step()
but reverse- add missing
_floor
,_fract
,_swizzle
,_mods
...
- rename
- #444: Fix numbering - opengl matrix uniform examples (docs) ( thanks to @wethu )
- #413: More Optimizations and SIMD fixes for MSVC & ARM
- take -pedantic into account to validate CGLM_USE_ANONYMOUS_STRUCT
- fix refract
- suppress warns about va-args
- supress fast-math warns
- suppress param-name warns
- add missing newlines at the eof
- documentation improvements
- add missing files to build
New Contributors
- @not-kaz made their first contribution in #420
- @master30f made their first contribution in #438
- @MarcinKonowalczyk made their first contribution in #441
- @wethu made their first contribution in #444
Full Changelog: v0.9.4...v0.9.5
Known or Possible Issues for Next Versions:
❤️ Sponsorship: Consider become a sponsor for cglm
Supporting cross platform, multiple OS-es and multiple CPUs requires multiple hardwares to test on it which requires extra financial cost. Also sparing time is another big issue while working at somewhere fulltime... Your company can become a sponsor to help:
https://github.com/sponsors/recp
https://opencollective.com/cglm#backer
https://patreon.com/recp