Zitat:
|
während OpenGL Freeware ist
|
Das ist DirectX auch

.
Wie bereits gesagt, ist OpenGL plattformunabhängig, während es DirectX nur für Windows gibt. Und OpenGL ist Opensource.
Ob man sich als Hersteller für DirectX oder OpenGL entscheidet, hängt vom Anwendungsgebiet der Applikation ab. Vermutlich lassen sich beim einen manche Dinge besser realisieren, als beim anderen. Aber wenn man Applikation für andere Bestriebssysteme als Windows entwickelt, kommt DirectX ja eh nicht in Frage.
Diese Schnittstellen wurden eingeführt, um - naja, um eben eine gemeinsame Schnittstelle zu haben. Früher zu DOS-Zeiten mußte man für jede Grafikkarte, Soundkarte, etc. eigene Routinen programmieren. Vielleicht erinnern sich noch einige, dass man damals stets angeben mußte, welche Grafikkarte, Soundkarte, etc. man installiert hat. Und für jede Hardware, welche die Applikation unterstützen sollte, mußten die Entwickler eigene Routinen schreiben.
Mit der Einführung von DirectX bzw. OpenGL brauchten die Entwickler in ihren Applikationen nur noch diese Schnittstelle anzusteuern. Diese geben die Befehle, welche sie von der Applikation erhalten, an den Treiber weiter, und der wiederum "übersetzt" das ganze dann für die jeweilige Hardware.
Jetzt wo ich das schreibe, fällt mir auf: Warum gibt es eigentlich DirectX (oder OpenGL)
UND den Treiber? Warum sendet die Schnittstelle ihre Befehle nicht direkt an die Hardware, sondern nimmt den Weg über den Treiber?
Vielleicht weiß das ja jemand

.