Featuresļƒ

  • scalar and simd (sse, avx, neon, wasmā€¦) optimizations

  • option to use different clipspaces e.g. Left Handed, Zero-to-Oneā€¦ (currently 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ā€¦)

  • 2d bounding box (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ā€¦