mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
36 lines
747 B
C++
36 lines
747 B
C++
#pragma once
|
|
|
|
template<typename T> class Matrix
|
|
{
|
|
public:
|
|
T m_data[4][4];
|
|
|
|
Matrix()
|
|
: m_data{
|
|
{T(1.0), 0, 0, 0 },
|
|
{0, T(1.0), 0, 0 },
|
|
{0, 0, T(1.0), 0 },
|
|
{0, 0, 0, T(1.0)},
|
|
}
|
|
{
|
|
}
|
|
|
|
Matrix(T d00, T d01, T d02, T d03, T d10, T d11, T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31, T d32, T d33)
|
|
: m_data{
|
|
{d00, d01, d02, d03},
|
|
{d10, d11, d12, d13},
|
|
{d20, d21, d22, d23},
|
|
{d30, d31, d32, d33},
|
|
}
|
|
{
|
|
}
|
|
|
|
static Matrix<T> Identity()
|
|
{
|
|
return Matrix();
|
|
}
|
|
};
|
|
|
|
typedef Matrix<float> Matrix32;
|
|
typedef Matrix<double> Matrix64;
|