2

私はLearning Modern 3D Graphics Programmingを行っていて、「hello, world!」を実行しようとしています。トライアングルプログラム。ただし、次のエラーが表示されます。

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)

少しグーグルで調べてみると、「glXCreateContextAttribsARB」に OpenGL 3.3 を使用する必要があるときに OpenGL 2.1 を使用していると推測されますが、実際にはわかりません。何か私にできることはありますか?

4

1 に答える 1

6

APIには、glXCreateContextAttribsARBGLX 1.4、および少なくともOpenGL 3.0(ただし実際には3.2)が必要です。

GPUドライバーは、Mesa7.xの使用と一貫性のあるOpenGL2.1のみに対応していると報告しています。最新のMesa8.xはOpenGL3をサポートしていますが、ディストリビューションで使用可能であり、特定のGPUモデルもサポートしているかどうかを確認する必要があります。

結論-ハードウェアとドライバーによって古い2.1ドライバーモデルに制限される可能性があります。つまり、「モダン」アプローチを利用することはできません。ごめん!

ここでDRIドライバーのステータスを確認してください。

于 2012-04-27T07:02:29.003 に答える