2016-06-24 23 views
0

Ich benutze glewIsSupported(GL_VERSION_3_1), um zu sehen, ob der Rechner die opengl-Version 3.1 unterstützt. Es ist wahr, aber ich weiß, dass die Maschine nur bis zu 2.1 unterstützt, als ich es durch glxinfo überprüft habe. Ich möchte auf 3.1 Vorwärtskompatibilität Profil nicht Rückwärtskompatibilität überprüfen.glewIsSupported (GL_VERSION_3_1) gibt true zurück, wenn das Gerät opengl nicht unterstützt. 3.1

  1. Gibt es eine Möglichkeit, ich glewIsSupported sagen kann für Vorwärtskompatibilität Profil oder Kernprofil zu prüfen, ob für die Version geprüft> = 3.2
  2. Ich habe auch versucht, für opengl 3.2 und OpenGL 3.3-Unterstützung. Es trifft für opengl 3.2 zu, für opengl 3.3 jedoch nicht. Wenn es nach einem kompatiblen Profil sucht, sollte es nicht für beides bestehen oder für beide fehlschlagen.

Ich denke, das einfach genug sein sollte, wenn glxinfo sagt es nur bis zu 2.1 unterstützt, glewIsSupported(GL_VERSION_3_1) false zurückgeben sollte. Warum kehrt es wahr zurück?

+0

Nun, 'glewIsSupported' kümmert sich nicht um Profile und Vorwärts/Rückwärtskompatibilität. Was es Ihnen tatsächlich sagt, ist, dass die GL-Funktionen, die in GL 3.1 hinzugefügt wurden, verfügbar sind, was immer noch für einen GL3.2-Coroeprofilkontext gilt. – derhass

+0

aber es schlägt für 3.3 fehl. Auch glxinfo zeigt nur 2.1 Unterstützung. Denkst du nicht, dass da etwas nicht stimmt? –

+0

glxinfo (zumindest in den letzten Versionen) wird sowohl eine ältere GL-Version als auch eine Kernprofilversion melden. Es ist mir völlig unklar, was Ihre Implementierung tatsächlich unterstützt. – derhass

Antwort

0

Gibt es eine Möglichkeit, ich glewIsSupported sagen kann für Vorwärtskompatibilität Profil oder Kernprofil zu prüfen, ob für die Version geprüft> = 3,2

GLEW modifiziert-BSD-Lizenz. Ändere einfach den Code. Oder noch besser, schreiben Sie Ihre eigene Funktion, die den gleichen Job macht.

In jedem Fall, nein, es gibt keine GLEW-Option dafür.

Ich möchte einen Code für beide Wondows und Linux verwenden.

Sie können nicht.

Kontexterstellung ist ein Teil des Betriebssystems um OpenGL. Daher kann es nicht plattformübergreifend sein. Entweder müssen Sie das Kontexterzeugungssystem eines anderen Benutzers verwenden oder Sie gehen

FYI: X Windows hat den GLX_ARB_create_context. Offensichtlich wird es unter Windows nicht verfügbar sein, aber so würden Sie das auf Linux testen.

+0

Ich glaube, ich habe mich geirrt, weil das glewIsSupported nach einem kompatiblen Profil und allem anderen sucht. Ich konnte kein Dokument finden, das dies unterstützt. Also ich denke, glewIsSupported (GL_VERSION_3_1) sollte fehlschlagen, da glxinfo sagt, es unterstützt nur bis 2.1 Version. Ich habe die Frage auch mit mehr Informationen aktualisiert. Hast du eine Idee, warum glewIsSupported wahr ist? –