Tecnicamente, non è possibile ottenere un (finestra) OpenGL 3.2 contesto di programmazione esclusivamente in C su OS X.
Devi usare parte di Cocoa (un framework Objective-C) chiamato NSOpenGL; L'AGL (deprecated C-based API) e l'implementazione X server molto vecchia (XQuartz) sono perpetuamente limitate a OpenGL 2.1.
L'implementazione Apple di GLUT esegue il wrapping di NSOpenGL (FreeGLUT non lo fa), così come GLFW, SDL, ecc. Hanno piccole parti scritte in Objective-C per interfacciarsi con NSOpenGL e questo consente di creare finestre basate su finestra Contesti di rendering OpenGL 3.2+ anche nel software C.
Ora, il problema qui è in realtà che glxinfo
utilizza XQuartz, che non supporta OpenGL 3.2+. Ti suggerisco di usare lo OpenGL Extension Viewer sul Mac App Store se desideri informazioni dettagliate sulle tue capacità OpenGL.
Dato che stai appena iniziando lo sviluppo di OpenGL su OS X, ti suggerisco di dare un'occhiata here per una rapida panoramica delle varie API.
fonte
2014-11-17 21:53:27
aggiornare i driver di grafica –
@ratchetfreak: non è possibile aggiornare i driver di grafica su OS X (la versione GL è legata alla versione del sistema operativo). Il problema veramente grande qui è che viene usato 'glxinfo'. Il server GLX che (sorta) viene fornito con OS X è limitato a GL 2.1. È necessario utilizzare le interfacce native Cocoa per creare un contesto profilo principale anziché il server X deprecato. –