FBIagent
Erfahrenes Mitglied
Hallo,
ich wollte mich ein wenig in OpenGL unter C einarbeiten und habe mir dazu eine kleine Abstraktion für das Fenster- und Kontextmanagement geschrieben.
Erstellen von Fenstern und Kontexten klappt auch wunderbar, nur bleibt bei der Kontexterstellung viel unklar, was ich mit hilfe des Internets leider nicht lösen konnte.
(Das untere ist nur auf Windows bezogen)
Bis version 2.1 war alles abwärtskomptibel(zumindest per Definition). Wenn ich nun einen OpenGL 3+ Kontext erstellen möchte, steht auf einigen Seiten beschrieben, dass ich einen "Alten" Kontext erstellen muss um einen "Neuen" Kontext erstellen zu können. Allerdings gibt mir glGetString(GL_VERSION) nach einem einfachen wglCreateContext "3.3.0" zurück(höchst mögliche Version auf meiner GeForce GTX260). Nun ist das ja schon ein "Neuer" Kontext.
Was ist denn nun dran an der Behauptung "Alt für Neu"? Eventuell aus Kompatibilitätsgründen doch zwei mal einen Kontext erstellen? (Ich gehe jetzt davon aus das "Core" und "Compatibility" Modus bei der Grafikkarte keinen unterschied macht, nur die Definition ändert sich, aber Grafikkarten werden wohl bis 1.0 abwärtskompatibel bleiben und alte Funktionen in allen Kontexten unterstützen?)
ich wollte mich ein wenig in OpenGL unter C einarbeiten und habe mir dazu eine kleine Abstraktion für das Fenster- und Kontextmanagement geschrieben.
Erstellen von Fenstern und Kontexten klappt auch wunderbar, nur bleibt bei der Kontexterstellung viel unklar, was ich mit hilfe des Internets leider nicht lösen konnte.
(Das untere ist nur auf Windows bezogen)
Bis version 2.1 war alles abwärtskomptibel(zumindest per Definition). Wenn ich nun einen OpenGL 3+ Kontext erstellen möchte, steht auf einigen Seiten beschrieben, dass ich einen "Alten" Kontext erstellen muss um einen "Neuen" Kontext erstellen zu können. Allerdings gibt mir glGetString(GL_VERSION) nach einem einfachen wglCreateContext "3.3.0" zurück(höchst mögliche Version auf meiner GeForce GTX260). Nun ist das ja schon ein "Neuer" Kontext.
Was ist denn nun dran an der Behauptung "Alt für Neu"? Eventuell aus Kompatibilitätsgründen doch zwei mal einen Kontext erstellen? (Ich gehe jetzt davon aus das "Core" und "Compatibility" Modus bei der Grafikkarte keinen unterschied macht, nur die Definition ändert sich, aber Grafikkarten werden wohl bis 1.0 abwärtskompatibel bleiben und alte Funktionen in allen Kontexten unterstützen?)
Zuletzt bearbeitet: