public Vector4f Sub(Vector4f r) { return(new Vector4f(x - r.GetX(), y - r.GetY(), z - r.GetZ(), w - r.GetW())); }
public Vector4f Mul(Vector4f r) { return(new Vector4f(x * r.GetX(), y * r.GetY(), z * r.GetZ(), w * r.GetW())); }
public float Dot(Vector4f r) { return(x * r.GetX() + y * r.GetY() + z * r.GetZ() + w * r.GetW()); }
public Vector4f Add(Vector4f r) { return(new Vector4f(x + r.GetX(), y + r.GetY(), z + r.GetZ(), w + r.GetW())); }
public Vector4f Div(Vector4f r) { return(new Vector4f(x / r.GetX(), y / r.GetY(), z / r.GetZ(), w / r.GetW())); }
public bool equals(Vector4f r) { return(x == r.GetX() && y == r.GetY() && z == r.GetZ() && w == r.GetW()); }
public float Dot(Vector4f r) { return x * r.GetX() + y * r.GetY() + z * r.GetZ() + w * r.GetW(); }
public bool equals(Vector4f r) { return x == r.GetX() && y == r.GetY() && z == r.GetZ() && w == r.GetW(); }
public Vector4f Add(Vector4f r) { return new Vector4f(x + r.GetX(), y + r.GetY(), z + r.GetZ(), w + r.GetW()); }
public Vector4f Div(Vector4f r) { return new Vector4f(x / r.GetX(), y / r.GetY(), z / r.GetZ(), w / r.GetW()); }
public Vector4f Sub(Vector4f r) { return new Vector4f(x - r.GetX(), y - r.GetY(), z - r.GetZ(), w - r.GetW()); }
public Vector4f Mul(Vector4f r) { return new Vector4f(x * r.GetX(), y * r.GetY(), z * r.GetZ(), w * r.GetW()); }
public Vector4f Transform(Vector4f r) { return new Vector4f(m[0, 0] * r.GetX() + m[0, 1] * r.GetY() + m[0, 2] * r.GetZ() + m[0, 3] * r.GetW(), m[1, 0] * r.GetX() + m[1, 1] * r.GetY() + m[1, 2] * r.GetZ() + m[1, 3] * r.GetW(), m[2, 0] * r.GetX() + m[2, 1] * r.GetY() + m[2, 2] * r.GetZ() + m[2, 3] * r.GetW(), m[3, 0] * r.GetX() + m[3, 1] * r.GetY() + m[3, 2] * r.GetZ() + m[3, 3] * r.GetW()); }
public Vertex PerspectiveDivide() { return(new Vertex(new Vector4f(m_pos.GetX() / m_pos.GetW(), m_pos.GetY() / m_pos.GetW(), m_pos.GetZ() / m_pos.GetW(), m_pos.GetW()))); }
public Vector4f Transform(Vector4f r) { return(new Vector4f(m[0, 0] * r.GetX() + m[0, 1] * r.GetY() + m[0, 2] * r.GetZ() + m[0, 3] * r.GetW(), m[1, 0] * r.GetX() + m[1, 1] * r.GetY() + m[1, 2] * r.GetZ() + m[1, 3] * r.GetW(), m[2, 0] * r.GetX() + m[2, 1] * r.GetY() + m[2, 2] * r.GetZ() + m[2, 3] * r.GetW(), m[3, 0] * r.GetX() + m[3, 1] * r.GetY() + m[3, 2] * r.GetZ() + m[3, 3] * r.GetW())); }