4

我在设置笔记本电脑以进行 OpenGL 编程/运行 OpenGL 程序时遇到了很多问题/困惑。

我的笔记本电脑有一个非常聪明(对我来说太聪明)的设计,其中英特尔 CPU 有一个芯片上的图形处理器,还有一个专用的显卡。具体来说,CPU 是 3630QM,带有“HD Graphics 4000”(我敢肯定,这是一个非常令人兴奋的名字),而“合适的”图形处理器是 Nvidia GTX 670MX。

从理论上讲,根据Wikipedia,如果安装了正确的驱动程序,Linux 下的 HD Graphics Chip (Intel) 支持 OpenGL 3.1。(他们可能不是。)

根据NVIDIA的说法,670MX 可以支持 OpenGL 4.1,所以理想情况下我想在这个 GPU 上开发和执行。

我是否安装了驱动程序以使我能够在 NVIDIA GPU 上执行 OpenGL 4.1 代码?答:可能没有,目前我使用这个“optirun”东西在专用 GPU 上执行 OpenGL 程序。请参阅此链接以查看我设置计算机所遵循的过程。

我的问题是,我知道如何在 670MX 上运行已编译的程序;那将是'optirun ./programname',但我如何才能找出我系统上安装的图形驱动程序将支持的OpenGL版本?运行'glxinfo | 终端中的 grep -i opengl' 告诉我英特尔芯片支持 OpenGl 3.0 版。请参阅以下信息:

ed@kubuntu1304-P151EMx:~$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL version string: 3.0 Mesa 9.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:

我如何做相同或类似的事情来找出“optirun”下可用的支持,以及支持的 OpenGL 版本?

更新

有人建议我使用 glGetString() 来查找此信息:我现在完全糊涂了!没有 optirun,支持的 OpenGL 版本是 '3.0 MESA 9.1.3',所以版本 3,这是我的预期。但是,在optirun下,支持的OpenGL版本是'4.3.0 NVIDIA 313.30',所以版本是4.3?!如果 NVIDIA 的硬件规范声明仅支持 4.1 版,它怎么可能是 4.3 版?

4

1 回答 1

6

您可以在 optirun 下运行 glxinfo:

optirun glxinfo | grep -i opengl

两张卡有不同的特性,所以得到不同的OpenGL版本是正常的。

于 2013-07-18T17:18:03.753 回答