ich bin grad dabei meine Engine auf OpenGL 3.0 und höher aufzurüsten. Da sie schon OpenGL ES 2.0 kann ist das prinzipiell kein Problem, allerdings..
Man muß ja bei der Context erstellung explizit angeben welche Version man haben möchte. Macht es sinn einen OpenGL 3.0 Context zu erstellen wenn auf dem System auch ein 4.0 möglich ist?
Also, ich überlege ob ich jetzt bei der Context erstellung einfach sage "Erstell mir einen OpenGL 3.1 Context", oder ob ich sage "Erstell mir einen OpenGL Context mit der höchsten Version die Verfügbar ist (>= 3.0)".
Oder fliegen jetzt regelmäßig mit jeder neuen OpenGL Version wieder dinge raus, so das bei OpenGL 4.0 dinge nichtmehr funktionieren die bei 3.0 gingen?
Und, gibt es diese unterschiede auch bei 3.0 und 3.1? Oder sollte man wenn möglich 3.1 immer gegenüber 3.0 vorziehen?
Und woher weiß ich welche Major und Minor versionen überhaupt existieren?
Registriert: Di Sep 06, 2005 18:34 Beiträge: 362 Wohnort: Hamburg
Hi,
wenn ich das richtig sehe, gibt es keine Features die in 3.x enthalten sind aber nicht in 4.x. Daher würd ich sagen, wenn 4.x möglich ist, kannst du bedenklos einen entsprechenden Context erstellen. Ob das allerdings für zukünftige Versionen so bleibt, weiß ich nicht. Würde da erstmal die maximale 4er Version nehmen und nicht die höchst mögliche Version.
Bei den 3.x Versionen gibt es glaube ich nur Unterschiede zwischen 3.0 und 3.1, d.h. 3.1 wurde noch weiter entschlackt und hat dazu die compatiblity Extension eingeführt. Neben dem Handling der Abwärtskompatiblität hat sich dann aber bis 3.3 nix geändert, bis auf neue Features.
Um alle Major/Minor Kombis zu finden kannst du auf http://www.opengl.org/documentation/specs/ nachschauen. Anhand der Spezifikationen kannst du auch die Kompatibilität prüfen. Mir sind die aber viel zu umfangreich und unübersichtlich
_________________ Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab für jede Major Version ein einzelnen Context und die Minor werden dynamisch in der Major abgefrüchtückt. Daher würde ich sagen, es macht Sinn diese zu trennen, da ja die 4.x Version noch nicht am Ende ist und eventuell noch recht große Änderungen kommen können. Von 3 auf 4 ist ein bisschen was passiert, deswegen ja auch der Versionssprung. Wärend in 3 noch ne starke Kompatibilität nach Version <=2.x gab ist in 4 es komplett gestrichen. Jede Version entschlackt also ein bisschen und bringt neues hinzu. Bin mir nicht mehr sicher aber die neuen Kompressionsformate, bekannt von DX11, sind glaube erst mit Version 4 verfügbar. Man munkelt ja, dass diese OpenGL Version noch die API für Grafik Objekte kommen soll(man muss keine bindings mehr machen sondern nutzt den Pointer vom VRAM, NVidia hat da seit OGL3 ne extension am start, die gut performance boosten soll). Mit dieser wäre man dann endgültig mit DX11 auf gleicher Augenhöhe.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.