static const Matrix4DRow Identity
void Invert();
Invert the matrix
⚠️ super slow
Vector3D GetTranslation() const
Returns the translation of a matrix.
Vector3D TransformVector(const Vector3D& vec) const
Transforms a vector.
Vector3D TransformPoint(const Vector3D& point) const
Transforms a point.
Vector3D GetXAxis() const
Returns the X rotation axis.
Vector3D GetYAxis() const
Returns the Y rotation axis.
Vector3D GetZAxis() const
Returns the Z rotation axis.
Vector3D GetScale() const
Returns the scale matrix.
static Matrix4DRow DeleteTranslation(Matrix4DRow& matrix)
Removes the translation from a world transfom matrix.
static Matrix4DRow CreateScale(float xScale, float yScale, float zScale)
Creates a scale matrix from 3 floats.
static Matrix4DRow CreateScale(const Vector3D& scaleVector)
Creates a scale matrix from a vector.
static Matrix4DRow CreateScale(float scale)
Creates a scale matrix from a float.
static Matrix4DRow CreateRotationX(float theta)
Creates a rotation around X matrix.
static Matrix4DRow CreateRotationY(float theta)
Creates a rotation around Y matrix.
static Matrix4DRow CreateRotationZ(float theta)
Creates a rotation around Z matrix.
static Matrix4DRow CreateTranslation(const Vector3D& trans)
Creates a translation matrix.
static Matrix4DRow CreateSimpleViewProj(float width, float height)
Creates a simple view-proj matrix.
static Matrix4DRow CreateFromQuaternion(const Quaternion& q)
Returns a matrix from a quaternion.
static Matrix4DRow CreateLookAt(const Vector3D& eye, const Vector3D& target, const Vector3D& up)
Creates a look at rotation matrix.
static Matrix4DRow CreateOrtho(float width, float height, float near, float far)
Creates an ortographic view matrix.
static Matrix4DRow CreatePerspectiveFOV(float fovY, float width, float height, float near, float far)
Creates a perspective with FOV view matrix.
static Matrix4DRow CreatePerspective(float left, float right, float bottom, float top, float near, float far)
Creates a perspective view matrix.