5

我有一台配备 GeForce 9400 显卡的 MacBook Pro。维基百科说这张卡支持 OpenGL 3。

但是 OS X 10.6 附带的头文件和库似乎只是 OpenGL 2(我检查了 中的文件/usr/X11/include/)。

我需要做一些 OpenGL 3 编程。我可以用我当前的硬件和操作系统来做吗?我需要获取和安装什么?

4

5 回答 5

2

可悲的是,我认为你还不能,如这里详述

我相信 Lion 会将 OS X 的 OpenGL 升级到 3.2(不幸的是,它仍然缺少更有用的 3.3)。

注意:我没有 Mac,这纯粹是因为尝试在 Windows 端学习现代 OpenGL 并四处挖掘以了解它的便携性。

编辑:官方 OpenGL 论坛上的这个线程有更多细节。尽管(请参阅此答案下方的评论)可能并不完全清楚为什么供应商不能提供兼容 OpenGL 3+ 的驱动程序,但似乎很清楚没有办法在 OS X 中使用完全兼容 OpenGL 3.3 的代码和着色器。提供了一些解决方法然而,在那个线程中,以及在我的第一个链接中。

于 2011-03-14T10:32:21.310 回答
1

检查各种 OSX 和 Mac 组合上的 OpenGL 支持的最佳位置是:http: //developer.apple.com/graphicsimaging/opengl/capabilities/

请参阅 10.7+ 的“核心”子页面

OpenGL 3.2 和 10.7.2 上的 GLSL 1.5 还不错。

于 2011-11-30T21:43:13.557 回答
0

Windows OpenGL 开发人员在这里。在 Windows 7 上,官方只支持 OpenGL 1.4,但每个人都通过查询哪些函数在运行时可用来绕过这个限制。

在 OSX 上,我希望你可以做同样的事情。最简单的方法是使用 OpenGL 扩展牧马人库:http ://www.opengl.org/sdk/libs/GLEW/

于 2011-03-14T14:13:32.960 回答
0

您当前的硬件可以支持 OpenGL 3,但不支持操作系统。Mac OS X 10.7 (Lion) 应该支持 OpenGL 3,如果您可以等待数月,这才是一个解决方案。

您现在唯一的选择是切换到不同的操作系统,例如 Windows 或 Linux。您必须从这个其他操作系统启动,因为虚拟机系统向来宾操作系统提供虚拟显卡,并且没有一个兼容 OpenGL 3 的虚拟显卡。

于 2011-03-14T13:35:10.383 回答
0

(免责声明:此信息基于采用 Windows OpenGL 并将 wgl 替换为 glX。但我确实验证了 GLX 领域中存在相应的扩展)

您不会在任何头文件中找到 OpenGL 3 支持。相反,您需要GLX_ARB_create_context 扩展

关于在 OSX 中缺少支持的其他答案可能是正确的,但即使支持出现,您也必须使用glXGetProcAddress和加载扩展。(显卡制造商不能通过他们的驱动添加对这些扩展的支持吗?为什么需要“操作系统支持”?)

于 2011-03-14T14:07:03.973 回答