Da DirectX nur auf Windows verfügbar ist, müsstest du eine Bibliothek nehmen, die direkt oder indirekt OpenGL verwendet, oder OpenGL selbst verwenden. Ich selbst habe keine Erfahrung mit OpenGL, nur meine ich mitbekommen zu haben, dass es zumeist angenehmer ist, eine darauf aufbauende Bibliothek zu verwenden.
2D Bibliotheken bieten meist die Möglichkeit, OpenGL zu verwenden, allerdings ist der Unterschied zur direkten Nutzung relativ gering, man dürfte sich aber die Problematik der Fenstererstellung ersparen (Beispiele: SDL/SDL.Net, SFML/SFML.Net, MonoGame, ...). Weiterhin gibt es 3D-Bibliotheken, die für mehr Abstraktion sorgen und so die Arbeit wahrscheinlich etwas einfacher gestalten (Beispiele: Irrlicht, Ogre3D, ...). Und es gibt Game-Engines, die zumeist eine solche Bibliothek und viele weitere Komponenten in einem Tool vereinen (Beispiel: Unity).
Je tiefer man arbeitet, umso schwieriger dürfte es insgesamt sein, nur bieten sich einem dort auch andere Möglichkeiten. Bei der Wahl sollte man auch berücksichtigen, wie viel Zeit man investeiren will und was das eigene Ziel ist. Um möglichst schnell ein fertiges und gepolishtes Spiel zu schreiben, sollte man nicht gerade mit einem eigenen Renderer anfangen, sondern eher zu einer Engine greifen.
Bei anderen Bibliotheken und vor allem Engines (Cry Engine, Unreal Engine, Source Engine, ...) musst du natürlich darauf achten, dass diese auch für Mac OS verfügbar sind.
Vorteilhaft könnte es ggf. auch sein, wenn die Engine deiner Wahl (solltest du eine Engine verwenden) bereits einen gewissen Satz an Standardassets mitliefert. So kann man mit deren Hilfe bereits Gameplay umsetzen und kann etwas anders als Boxen, Kugeln und Kapseln verwenden.