FeaturesĀ¶

  • scalar and simd (sse, avx, neon, wasmā€¦) optimizations
  • option to use different clipspaces e.g. Left Handed, Zero-to-Oneā€¦ (currrently right handed negative-one is default)
  • array api and struct api, you can use arrays or structs.
  • general purpose matrix operations (mat4, mat3)
  • chain matrix multiplication (square only)
  • general purpose vector operations (cross, dot, rotate, proj, angleā€¦)
  • affine transformations
  • matrix decomposition (extract rotation, scaling factor)
  • optimized affine transform matrices (mul, rigid-body inverse)
  • camera (lookat)
  • projections (ortho, perspective)
  • quaternions
  • euler angles / yaw-pitch-roll to matrix
  • extract euler angles
  • inline or pre-compiled function call
  • frustum (extract view frustum planes, cornersā€¦)
  • bounding box (AABB in Frustum (culling), crop, mergeā€¦)
  • bounding sphere
  • project, unproject
  • easing functions
  • curves
  • curve interpolation helpers (SMC, deCasteljauā€¦)
  • helpers to convert cglm types to Appleā€™s simd library to pass cglm types to Metal GL without packing them on both sides
  • ray intersection helpers
  • and othersā€¦