public static float sdTorusZ(Vector3 p, Vector2 t) { Vector2 q = new Vector2((float)Math.Abs(Math.Sqrt(p.X * p.X + p.Y * p.Y)) - t.X, p.Z); return q.Length() - t.Y; }