Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Ihr bei allen OpenGL spielen kann man doch mit einer HD4xxx SSAA an schalten oder irre ich da =?
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Haut mich für die Frage und steinigt mich ruhig, aber...
Was genau ist der Unterschied zwischen Open GL und Direct X? Abgesehen von der Kompatibilität.

Technisch gesehen ist DirectX objektorientiert (Daten und Funktionen werden [mehr oder weniger sinnvoll] in Objekte zusammengefasst), während OpenGL eine Ansammlung von Funktionen ist.

OpenGL ist eine Grafikbibliothek, sie bietet also eine Vielzahl von Funktionen für die Ausgabe und Manipulation von Grafik und deren Daten. Im Vergleich dazu ist DirectX viel mehr. Je nach Version bietet DirectX zusätzlich zu 2D/3D-Grafik auch Funktionalität für Eingabe (Maus, Tastatur, Joystick, ...), Musik und Sound, Netzwerk, ...

Für den Vergleich wird meist Direct3D und OpenGL verwendet, da sich beide um Grafik drehen und nur diese Teile vergleichbar sind.
Der Fairness sollte man aber erwähnen, dass Microsoft bei fast allen anderen Komponenten (DirectDraw, DirectMusic, DirectPlay, DirectSound, DirectShow), außer DirectInput (für die Eingabe), empfiehlt diese nicht mehr zu verwenden. Diese werden also in absehbarer Zeit raus fliegen, wenn sie es nicht schon sind.
Deshalb wird DirectX irgendwann vllt. nur noch Grafik+Eingabe sein.

Aber das Thema war Direct3D und OpenGL. Wie gesagt, das eine Kapselt seine Sachen in Objekte und das andere ist eine "füste" Funktionssammlung. Von den Funktionen her sind beide etwa gleichwertig, auch wenn deswegen oft ein Glaubenskrieg ausbricht.
Was man davon nehmen sollte hängt g.T. von seiner eigenen Einstellung ab und ob man es lieber objektorientiert mag, oder nicht. Ein wichtiger Punkt ist auch, wo das Programm später laufen soll. Wenn die Antwort "Windows" heißt, kann man getrost zu DirectX mit Direct3D greifen, da Microsoft auch eine gute Dokumentation bietet. Wenn es auch Linux/Mac/wasAnderes sein soll, dann ist die Wahl eigentlich schon getroffen, OpenGL.

Und nur zur Information: Beide wenden sich an den Treiber um ihre Funktionen letztendlich umzusetzen. Es hängt damit von Treiber, aber auch der Hardware ab, welche der angebotenen Funktionen wirklich genutzt werden kann.
Und: auf Windows ist OpenGL 1.1 von 1997 die letzte Version, auch wenn es bereits 4.0 gibt. Allerdings bietet OpenGL auch die Möglichkeit in 1.1, den Treiber zu fragen, was dieser alles für einem tun kann. Dadurch ist es dennoch möglich, auch 4.0 Funktionen unter Windows zu nutzen, auch wenn das dann etwas aufwändiger wird. ;)

LOTIPATS
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Und: auf Windows ist OpenGL 1.1 von 1997 die letzte Version, auch wenn es bereits 4.0 gibt. Allerdings bietet OpenGL auch die Möglichkeit in 1.1, den Treiber zu fragen, was dieser alles für einem tun kann. Dadurch ist es dennoch möglich, auch 4.0 Funktionen unter Windows zu nutzen, auch wenn das dann etwas aufwändiger wird. ;)
?? In den aktuellen Nvidia & ATI (Beta?) Treiber ist doch OpenGL 4 dabei.
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Ihr bei allen OpenGL spielen kann man doch mit einer HD4xxx SSAA an schalten oder irre ich da =?

Ja, mittels eines Registry-Tweaks kann im CCC der "Supersampling" - Schalter hinzugefügt werden, dann geht SSAA unter OpenGL. Allerdings auch nur dort.

Bei der HD 5000-Serie funktioniert SSAA leider nicht unter OpenGL, was mich persönlich ärgert, da ich ab und an immer noch gerne Doom 3 oder Quake 4 spiel.

Aber man kann nicht alles haben...
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

?? In den aktuellen Nvidia & ATI (Beta?) Treiber ist doch OpenGL 4 dabei.
Ja richtig, die Treiber können die Funktionen von OpenGL 4 abarbeiten.
Jedoch musst du auch irgendwie an die Funktionen herankommen. Normalerweise werden dafür Bibliotheken zur Laufzeit dazu gelinkt. Unter Windows sind das die DLLs.
Um Dinge dazu linken zu können, musst du wissen, wo sich diese befinden und wie sie aussehen. Für letzteres gibt es die Header-Dateien, die man z.B. von der OpenGL-Webseite herunter laden.
Ersteres ist ein echtes Problem. Dafür gibt es OpenGL in Windows integriert (z.B. \Windows\system32\opengl32.dll). Dies kann allerdings nur Funktionen anbieten, die es auch kennt. Das ist bzw. war es vor einem Jahr noch OpenGL 1.1, auch unter Windows Vista (und da es sich über 10 Jahre nicht geändert hat, warum dann jetzt?).
Deshalb kannst du unter Windows eigentlich nur OpenGL 1.1 verwenden. Jedoch hatten sich die Entwickler schon damals gedacht, dass Erweiterungen schön werden (alternativ konnte man sich nicht einigen und das war dann ein Kompromiss ;) ). Deshalb gibt es bereits in OpenGL 1.1 die Möglichkeit den Treiber zu fragen, welche Funktionalität er anbietet (in Form von Erweiterungen, nicht einzelnen Funktionen).
Nun bietet OpenGL auch noch die Möglichkeit, vom Treiber den Ort einer Funktion zu erfahren. Damit hast du dann alles was du brauchst, um die Funktion zu nutzen.

Allerdings hat sich seit 1997 nun einmal viel getan. Um also eine neue OpenGL-Version ordentlich zu verwenden musst du eine lange Liste von Funktionen vom Treiber holen - und vorher nachsehen, ob es die überhaupt gibt. Damit hast du dann im schlimmsten Fall schon einmal ein paar tausend Zeilen Quellcode zusammen.
Ein Weiteres Problem könnte sein, dass OpenGL 3.1 ein Haufen Altlasten über Board geworfen hat, weshalb Abwärtskompatibilität nicht gegeben ist. Ich weiß nicht, wie sich der Treiber dann verhält, wenn man mit einer Uraltversion ankommt und Funktionen haben möchte, obwohl man selber (=die Uraltversion) ausgesonderte Funktionen beinhaltet.

LOTIPATS
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Tja, bei meinen OpenGLspielen funktioniert SGSSAA einwandfrei. ;)

Echt ? Dann verrat mir doch bitte wie.. Du hast doch auch ne Radeon 5000er. Also bei mir hat es keine Auswirkungen, wenn ich unter OGL den Schalter auf "Supersampling" stell...
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Dank OpelGL kann ich mir meiner HD4850GS auch SSAA nutzen und es geht.
Gerade in HL2 getest und muss sagen extrem um spielbar^^
 
AW: Geschichtsstunde: Legendäre Open-GL-Spiele bis heute

Liebe PCGH Redaktion.

Die Grand Prix Serie von Goeff Crommand basierte NIE auf OpenGL.

Kleine Reise in die Vergangenheit:

GP1 und GP2 hatten beide eine eigene Engine auf Assembler geschrieben. Die ist rein software gestützt und von microprose entwickelt. GP1 und GP2 liefen noch unter DOS. Auf basis dieser engine wurde GP3 geschrieben, GP3 hat nen software modus und einen hardware modus. Der hardware modus basiert auf directx 7. directx zeichnet aber nicht selber, sondern dient nur als hardware-interface. Erst mit gp4 haben sie die engine soweit umgeschrieben, das mit dx8 auch die grafiken erzeugt werden. Allerdings hat die GP serie nie auf openGL aufgebaut.
 
Zurück