Hi,
ich glaube du musst da etwas differenzieren.
DirectX und
OpenGL sind erstmal nur Schnittstellen. Du wirst keine einzige Funktion davon wirklich selbst entwickeln (dann wäre dass Sinnlos), die sollten von deiner Grafikkarte/ihrem Hersteller schon implementiert sein. Genau genommen kümmert sich dein Betriebssystem um die Umsetzung. Ist bei
DirectX die richtige Version installiert, aber die Grafikkarte unterstützt nicht den vollen Umfang, wird automatisch Softwaregerendert.
Über Vor- und Nachteile der beiden Schnittstellen lässt sich super streiten (such einfach mal hier im Forum danach). Um es kurz zu sagen, es gibt beliebig viele, wichtig ist welche für einen relevant sind.
In der Regel wirst du aber eine Kapselung benutzen, die dir unter Delphi schon einen guten Teil der Funktionalität zur Verfügung stellt (also gekapselt natürlich). Da hast du dann schon vordefinierte Körper und kannst denen direkt Eigenschaften zuweisen, ohne direkt die Schnittstelle zu benutzen. Und hier liegt jetzt der in der Regel Wichtigste Unterschied für dich, du musst einfach schauen, welche Kapselung dir am ehesten zusagt. Die Unterschiede zwischen den einzelnen Kapselungen können schon immens sein (insbesondere hinsichtlich Stabilität). Und hier ist es wichtig die Lizenzen zu beachten. Diese Kapselungen geben dir vor ob und unter welchen Bedingungen du ein Programm vermarkten darfst.
Die reinen Grafikschnittstellen (also
DirectX und
OpenGL) sind frei, die Implementierungen selbiger werden auf Betriebssystemebene gemacht und sind somit von jedem Besitzer eines BS schon mit bezahlt.
Gruß Der Unwissende