Skip to content

v0.9.5: optimizations, noise and many improvements

Latest
Compare
Choose a tag to compare
@recp recp released this 13 Feb 09:20
· 1 commit to master since this release
fb4eac2

🚀 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 to glm_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 to glm_vec4_step() but reverse
    • add missing _floor, _fract, _swizzle, _mods...
  • #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

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