public static Vec4 SquareRoot(Vec4 value) { return(new Vec4((float)Math.Sqrt(value.X), (float)Math.Sqrt(value.Y), (float)Math.Sqrt(value.Z), (float)Math.Sqrt(value.W))); }
public static Vec4 Max(Vec4 a, Vec4 b) { return(new Vec4(a.X > b.X ? a.X : b.X, a.Y > b.Y ? a.Y : b.Y, a.Z > b.Z ? a.Z : b.Z, a.W > b.W ? a.W : b.W)); }
public static Vec4 Abs(Vec4 value) { return(new Vec4(Math.Abs(value.X), Math.Abs(value.Y), Math.Abs(value.Z), Math.Abs(value.W))); }
public static Vec4 Min(Vec4 a, Vec4 b) { return(new Vec4(a.X < b.X ? a.X : b.X, a.Y < b.Y ? a.Y : b.Y, a.Z < b.Z ? a.Z : b.Z, a.W < b.W ? a.W : b.W)); }
public static float Dot(Vec4 a, Vec4 b) { return(a.X * b.X + a.Y * b.Y + a.Z * b.Z + a.W * b.W); }
public bool Equals(Vec4 o) { return(X == o.X && Y == o.Y && Z == o.Z && W == o.W); }
public Plane(Vec4 value) { Normal = new Vec3(value.X, value.Y, value.Z); D = value.W; }
public static float Dot(Plane plane, Vec4 value) { return(plane.Normal.X * value.X + plane.Normal.Y * value.Y + plane.Normal.Z * value.Z + plane.D * value.W); }