如何在Mac OSX上将OpenGL从2.1升级到3.3?

jac*_*ill 9 opengl macos

我想在我的Macbook Pro上用C语言编写OpenGL 3.

我的显卡是NVIDIA GeForce 320M 256 MB,但我有OpenGL 2.1根据维基百科,我应该可以使用OpenGL 3.3:

但是,当我跑步时glxinfo | grep -i opengl,我明白了OpenGL version string: 2.1 NVIDIA-8.24.16 310.90.9.05f01.
我该如何升级呢?我正在经营小牛队.

And*_*man 10

从技术上讲,你无法在OS X上用C语言获得(窗口化)OpenGL 3.2上下文编程.

你必须使用一部分名为NSOpenGL的Cocoa(一个Objective-C框架); AGL(不推荐使用的基于C的API)以及真正的旧X服务器实现(XQuartz)始终限于OpenGL 2.1.

Apple自己的GLUT实现包含NSOpenGL(FreeGLUT没有),GLFW,SDL等也是如此.它们有一小部分用Objective-C编写,可以与NSOpenGL接口,这使得它们可以创建基于窗口的OpenGL 3.2+渲染即使在C软件中也是如此.


现在,这里的问题实际上是glxinfo使用XQuartz,它不支持OpenGL 3.2+.如果您想了解有关OpenGL功能的详细信息,我建议您在Mac App Store上使用OpenGL Extension Viewer.

既然你只是在OS X上的OpenGL开发起步的,我也建议你看看这里的各种API的快速概述.