|
| template<typename T> |
| constexpr const T & | Clamp (const T &value, T min, T max) |
| | Clamps value into [min, max].
|
| template<typename T> |
| constexpr const T & | Clamp (const T &value, Vector2D range) |
| | Clamps value into [range.x, range.y].
|
| template<typename T> |
| constexpr T | Lerp (const T &start, const T &end, float t) |
| | Linear interpolation from start to end; t is clamped to [0,1].
|
| template<typename T> |
| constexpr const T & | Max (const T &value1, const T &value2) |
| template<typename T> |
| constexpr const T & | Min (const T &value1, const T &value2) |
| Vector3D | operator* (const Quaternion &quat, const Vector3D &vec) |
| template<typename T, size_t N> |
| Vector< T, N > | operator* (T scalar, const Vector< T, N > &vec) |
Vectors, matrices, quaternions, colors, AABBs, and random helpers.
Vector2D, Vector3D, and Vector4D are the value types nearly every other engine API accepts. Matrix4 uses the row-vector convention: a point is transformed as clip = point * viewProj.