|
| template<typename T, size_t M, size_t N> |
| bool | dl::operator== (const Matrix< T, M, N > &a, const Matrix< T, M, N > &b) |
| | 判断相等
|
| |
| template<typename T, size_t M, size_t N, size_t P> |
| Matrix< T, M, N > | dl::operator* (const Matrix< T, M, P > &a, const Matrix< T, P, N > &b) |
| | 矩阵乘法
|
| |
| template<typename T, size_t M, size_t N> |
| Array< T, M > | dl::operator* (const Matrix< T, M, N > &a, const Array< T, N > &v) |
| | 矩阵 乘 向量
|
| |
| Matrix4 | dl::Mat::CreateIdentity () |
| | 创建单位矩阵
|
| |
| Matrix4 | dl::Mat::CreateTranslation (const Position3 &t) |
| | 创建平移矩阵
|
| |
| void | dl::Mat::ApplyTranslation (Matrix4 &m, const Position3 &t) |
| | 平移矩阵
|
| |
| Matrix4 | dl::Mat::CreateRotation (const Position3 &axis, Float angle) |
| | 创建旋转矩阵
|
| |
| Matrix4 | dl::Mat::CreateRotation (const Position4 &q) |
| | 创建旋转矩阵(四元数)
|
| |
| Matrix4 | dl::Mat::CreateScaling (const Position3 &s) |
| | 创建缩放矩阵
|
| |
| Matrix4 | dl::Mat::CreateLookTo (const Position3 &eye, const Position3 &dir, const Position3 &up) |
| | 创建LookTo矩阵
|
| |
| Matrix4 | dl::Mat::CreateLookAt (const Position3 &eye, const Position3 &target, const Position3 &up) |
| | 创建LookAt矩阵
|
| |
| Matrix4 | dl::Mat::CreatePerspective (Float fovy, Float aspect, Float z_near, Float z_far) |
| | 创建透视投影矩阵 [0, 1]
|
| |
| Matrix4 | dl::Mat::CreateOrthogonal (Float left, Float top, Float right, Float bottom, Float z_near, Float z_far) |
| | 创建正交投影矩阵 [0, 1]
|
| |
| Matrix4 | dl::Mat::GetInverse (const Matrix4 &m) |
| | 获得逆矩阵
|
| |
| Position3 | dl::Mat::ApplyDot (const Matrix4 &mat, const Position3 &dot) |
| | 变换点
|
| |
| Position3 | dl::Mat::ApplyDir (const Matrix4 &mat, const Position3 &dir) |
| | 变换向量
|
| |
| Matrix3 | dl::Mat::ToMatrix3 (const Matrix4 &mat) |
| |
| void | dl::Mat::Test () |
| | 验证正确性
|
| |