2

我正在学习现代 3D 图形编程,我正在尝试运行“你好,世界!” 三角程序。但是,我收到此错误:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ ./Tut\ 01\ Main
freeglut (./Tut 01 Main): glXCreateContextAttribsARB not found

运行“glxinfo”给了我这个:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ glxinfo | grep OpenGL
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 7.11
OpenGL shading language version string: 1.20
OpenGL extensions:

'lspci' 命令给了我这个:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ lspci | grep "VGA"
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)

通过一些谷歌搜索,我猜我正在使用 OpenGL 2.1,而我应该将 OpenGL 3.3 用于“glXCreateContextAttribsARB”,尽管我真的不知道。有什么我可以做的吗?

4

1 回答 1

6

API 需要 GLX 1.4 ,glXCreateContextAttribsARB至少需要 OpenGL 3.0(但实际上是 3.2)。

您的 GPU 驱动程序报告它仅支持 OpenGL 2.1,这与使用 Mesa 7.x 一致。最新的 Mesa 8.x 确实支持 OpenGL 3,但您需要检查它是否适用于您的发行版,并且还支持您的特定 GPU 型号。

底线 - 您可能会受到硬件和驱动程序的限制,只能使用旧的 2.1 驱动程序模型,这意味着您无法利用“现代”方法。对不起!

在此处检查 DRI 驱动程序状态:

于 2012-04-27T07:02:29.003 回答