2012-04-27 5 views
2

Я прохожу через Learning Modern 3D Graphics Programming, и я пытаюсь запустить «привет, мир!». треугольная программа. Тем не менее, я получаю эту ошибку:glXCreateContextAttribsARB не найден

[email protected]:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ ./Tut\ 01\ Main 
freeglut (./Tut 01 Main): glXCreateContextAttribsARB not found 

Запуск 'glxinfo' дает мне это:

[email protected]:~/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' дает мне это:

[email protected]:~/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) 

Через немного googling, я предполагаю, что я использую OpenGL 2.1, когда я должен использовать OpenGL 3.3 для «glXCreateContextAttribsARB», хотя я действительно не знаю. Я могу что-нибудь сделать?

+0

Что GPU вы думаете, что у вас есть? Ваш водитель предлагает вам использовать какую-то плату Intel. –

ответ

6

API glXCreateContextAttribsARB API требует GLX 1.4 и не менее OpenGL 3.0 (но действительно 3.2).

Ваш драйвер GPU сообщает это способна только OpenGL 2.1, что согласуется с использованием Mesa 7.x. Последняя версия Mesa 8.x поддерживает OpenGL 3, но вам нужно проверить, доступна ли она для вашего дистрибутива, а также поддерживает вашу конкретную модель графического процессора.

Нижняя линия - вы можете ограничить свое оборудование и драйвер для старой модели драйверов 2.1, что означает, что вы не можете использовать подход «Современный». Сожалею!

Проверьте состояние драйвера DRI здесь:

+0

Похоже, что ошибка поднимается freeglut. Есть ли более старая версия freeglut, которую я могу установить, чтобы продолжить этот учебник? –

+0

@AgnelKurian Я сомневаюсь в этом; ограничение в конечном итоге находится в аппаратном обеспечении. – gavinb

 Смежные вопросы

  • Нет связанных вопросов^_^