public static bool CompareAnyLessThan(Vec4 a, Vec4 b) { return a.X() < b.X() || a.Y() < b.Y() || a.Z() < b.Z() || a.W() < b.W(); }
public static Vec4 Max(Vec4 a, Vec4 b) { return new Vec4( Math.Max(a.X(), b.X()), Math.Max(a.Y(), b.Y()), Math.Max(a.Z(), b.Z()), Math.Max(a.W(), b.W()) ); }
public static Vec4 Truncate(Vec4 v) { return new Vec4( v.X() > 0.0f ? CMath.Floor(v.X()) : CMath.Ceil(v.X()), v.Y() > 0.0f ? CMath.Floor(v.Y()) : CMath.Ceil(v.Y()), v.Z() > 0.0f ? CMath.Floor(v.Z()) : CMath.Ceil(v.Z()), v.W() > 0.0f ? CMath.Floor(v.W()) : CMath.Ceil(v.W()) ); }
public static Vec4 Reciprocal(Vec4 v) { return new Vec4( 1.0f / v.X(), 1.0f / v.Y(), 1.0f / v.Z(), 1.0f / v.W() ); }