public static Float4 Normalize(Float4 _A) { return _A / _A.Length(); }
//Methods public static float Dot(Float4 _A, Float4 _B) { return _A.X * _B.X + _A.Y * _B.Y + _A.Z * _B.Z + _A.W * _B.W; }
public Float4x4(Float4 _X, Float4 _Y, Float4 _Z, Float4 _T) { X = _X; Y = _Y; Z = _Z; T = _T; }
public static Float4 operator *(Float4 _V, Float4x4 _M) { Float4 ret = new Float4( Float4.Dot(_V, _M.Row[0]), Float4.Dot(_V, _M.Row[1]), Float4.Dot(_V, _M.Row[2]), Float4.Dot(_V, _M.Row[3])); return ret; }
public Float4x4() { X = new Float4(1, 0, 0, 0); Y = new Float4(0, 1, 0, 0); Z = new Float4(0, 0, 1, 0); T = new Float4(0, 0, 0, 1); }