我想在我的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的快速概述.