PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenGL vs. DirectX



Norman
10.02.04, 14:23
Ich hoffe, dass ich richtig liege: So weit ich weiß wird DirectX immer weiter entwickelt und an die neuesten Graphikkarten angepasst, so dass es möglichst gute 3D Beschleunigung unterstützt. Doch OpenGL wird kaum ( gar nicht ? ) weiter entwickelt. Da ich noch nicht in OpenGL programmiert habe, wäre also meine Frage : Wenn OpenGL nicht weiterentwickelt wird, mangelt es dann nicht an der Unterstützung für bestimmte beschleunigte Funktionen neuerer 3D Karten ? Einige Kartenhersteller liefern mit den Treibern ja gleich OpenGL Erweiterungen mit ( z.B. nvidia ) aber das würde bedeuten, dass man bei der Entwicklung von OpenGL Software stets Graphikkarten spezifisch programmieren müßte, um die beschleunigten Operationen zu nutzen ?

Hun
10.02.04, 15:03
OpenGL ist mindestens genauso leistungsfähig wie DirectX und wird ständig weiterentwickelt (auch wenn das nicht so offensichtlich ist)
2.0 ist demnächst fertig und dann wird's wirklich lustig
in sachen komplexität nehmen sich beide APIs nicht viel

und Hardwarenah zu programmieren stellt imho nen vorteil dar

palm-man
10.02.04, 15:19
Auch von der Geschwindigkeit und Darstellungsqualität gibts kaum Unterschiede. Du musst nur bedenken, dass du OpenGL nur mit Direct3D vergleichen darfst, nicht mit dem ganzen DirectX. Außerdem ist OpenGL eher lowlevel. Direct3D stellt noch viele zusätzliche Funktionen und Klassen zur Verfügung (Models laden, usw.), die die Entwicklung damit (zwar nur unwesentlich) beschleunigen.
Was die Weiterentwicklung betrifft: du kannst mit OpenGL das gleiche machen, wie mit DirectX. Vom Aufwand her nimmt sich das kaum was. Mich stört an DirectX das komplizierte API. OpenGL wird auch weiter entwickelt. Wir sind momentan bei OpenGL 1.5 angekommen und 2.0 steht vor der Tür. Die Weiterentwicklung von OpenGL wird durch Extensions gesichert. Jeder Grafikkarten-Hersteller stellt solche Extensions zur Verfügung. (Unter Linux kannst du die herausfinden mit: glxinfo) glSlang als Shader-Sprache setzt sich durch (genenüber Cg von Nvidia). Es gibt auch grafikkartenunabhängige OpenGL-Extensions. Die beginnen meist mit GL_ARB.