cglm

📽 Highly Optimized 2D / 3D Graphics Math (glm) for C

MIT License

Downloads
10
Stars
2.1K
Committers
74

Bot releases are visible (Hide)

cglm - v0.4.1: vector update

Published by recp over 6 years ago

  • optimize non-optimized with SIMD vec4 operations with SSE/SSE2
  • add one and zero helpers for vectors
  • fix scale_as for zero length vector: now it it returns zero
  • new functions for vec3 and vec4: (s suffix stands for scalar)
    • _mul: multiply two vector (replacement for _mulv)
    • _div: div two vector
    • _divs: div vector with scalar
    • adds: add scalar to each components of vec
    • subs: sub scalar from each components of vec
    • addadd, subadd, muladd, muladds helpers ( += )
  • optimize rotate vec3 using matrix4, add same function for mat3
  • add some tests for vectors
  • update docs for new apis
cglm - v0.4.0: Quaternion Update + Some Bugfixes and Features

Published by recp over 6 years ago

  • invalidate axis-aligned boundng box util
  • aabb printer function
  • helper for check aabb is valid or not
  • get sign of float helper as -1, +1 and 0 for vec3, vec4 and for single floats
  • aabb box size and radius
  • project / unproject functions
  • isnan, isinf and isvalid heleprs for vectos
  • vector version of sqrt
  • lerp for numbers, vec3 and vec4
  • add call versions of vector extension
  • major quaternion update
    • change WXYZ order to XYZW
    • normalize quat in quat_mat4
    • normalize axis in quatv
    • quat to mat3
    • transposed versions of quat to mat4/mat3
    • quaternion version of look
    • quaternion version of rotate vector
    • quaternion version of rotate matrix
    • quaternion helpers; get conjugate, inv, angle, axis...
    • fix quaternion multiplication
    • SSE version for quaternion multiplication
    • fix slerp, add lerp
    • look rotation
    • quat to mat4 and quat to mat3
    • add tests, docs

and lots of improvements, bugfixes (and features) may not listed above!

cglm -

Published by recp over 6 years ago

  • clamp functions
  • fix euler angles (extrinsic -> intrinsic)
  • optimize euler angles
  • improve build scripts
cglm -

Published by recp over 6 years ago

  • frustum (extracting frustum corners, planes...)
  • bounding box (aabb)
  • possible orthogonal/perpendicular vector func
  • min and max vector
  • extract perspective parameters (size, fovy)
  • new wrappers for lookat (glm_look ...)
  • several improvements
  • complete documentation
cglm -

Published by recp almost 7 years ago

  • min and max for vectors
  • fix GLM_QUAT_IDENTITY_INIT (wxyz) instead of (xyzw). Addresses #10. (winduptoy)
  • rename near and far variable names (windows uses these names as macro)
cglm -

Published by recp almost 7 years ago

  • now accurate version matrix inversion is default
  • decompose projection matrix funcs
  • convenient macros for UP vector for lookAt
  • vec: helper / special macros for initializing white and black colors
  • inverse (opposite) of vectors
  • Fixed missing alignment on MinGW + GCC (smx-smx)
cglm - v0.3.0: arm neon support, re-organise file/folder structure

Published by recp over 7 years ago

  • ARM Neon support for matrix multiplication
  • re-organise file/folder structure;
    • remove cglm prefix from file names
    • separate vec4 operations into separate header
  • add missing header documentations
  • fix raw matrix multiplication
  • supress warnings
cglm -

Published by recp over 7 years ago

  • add removed functions as macro as DEPRECATED for compatibility
  • fix build scripts
cglm -

Published by recp over 7 years ago

  • _dup (duplicate) is changed to _copy. For instance glm_vec_dup -> glm_vec_copy
  • OpenGL related functions are dropped to make this lib platform/third-party independent
  • build conf for windows
  • add some vector operations
  • add cmocka to unit tests
  • optimizations