public override bool Equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (GetType() != obj.GetType())
return false;
Vec3 other = (Vec3)obj;
if (FloatToIntBits(X) != FloatToIntBits(other.X))
return false;
if (FloatToIntBits(Y) != FloatToIntBits(other.Y))
return false;
if (FloatToIntBits(Z) != FloatToIntBits(other.Z))
return false;
return true;
}