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ā¦