Technisch Sie kein (windowed) OpenGL 3.2 Kontext rein in C unter OS X Programmierung bekommen
Sie haben Teil zu verwenden, Cocoa (ein Objective-C-Framework) namens NSOpenGL; AGL (veraltete C-basierte API) sowie die wirklich alte X-Server-Implementierung (XQuartz) sind immer auf OpenGL 2.1 beschränkt.
Apples eigene Implementierung von GLUT Wraps NSOpenGL (FreeGLUT nicht), und so GLFW, SDL, etc. Sie haben kleine Teile, die in Objective-C geschrieben werden, um mit NSOpenGL zu interagieren und ermöglicht ihnen, Fenster-basierte zu erstellen OpenGL 3.2+ rendert Kontexte sogar in C-Software.
Nun, das Problem hier ist eigentlich, dass glxinfo
verwendet XQuartz, die nicht OpenGL unterstützt 3.2+. Ich würde vorschlagen, dass Sie die OpenGL Extension Viewer im Mac App Store verwenden, wenn Sie detaillierte Informationen über Ihre OpenGL-Fähigkeiten wünschen.
Da Sie gerade mit OpenGL-Entwicklung auf OS X beginnen, würde ich auch vorschlagen, dass Sie einen Blick auf here werfen für einen schnellen Überblick über die verschiedenen APIs.
aktualisieren Sie Ihre Grafiktreiber –
@ratchetfreak: Sie können Grafiktreiber unter OS X nicht aktualisieren (GL-Version ist an OS-Version gebunden). Das wirklich große Problem ist, dass 'glxinfo' verwendet wird. Der GLX-Server, der mit OS X ausgeliefert wird, ist auf GL 2.1 beschränkt. Sie müssen die nativen Cocoa-Schnittstellen verwenden, um einen Kernprofilkontext anstelle des veralteten X-Servers zu erstellen. –