summaryrefslogtreecommitdiff
path: root/libs/cglm/docs/source/features.rst
diff options
context:
space:
mode:
Diffstat (limited to 'libs/cglm/docs/source/features.rst')
-rw-r--r--libs/cglm/docs/source/features.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/cglm/docs/source/features.rst b/libs/cglm/docs/source/features.rst
new file mode 100644
index 0000000..8113f63
--- /dev/null
+++ b/libs/cglm/docs/source/features.rst
@@ -0,0 +1,28 @@
+Features
+================================================================================
+
+* **scalar** and **simd** (sse, avx, neon...) 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...