Я экспериментирую с учебниками OpenGL 2.x и 3.x. Программы компиляции и компоновки, но затем на первый взгляд сегментации невиновных линий, таких какНе удается запустить мои собственные программы OpenGL 3 на Ubuntu
glGenBuffers (1, &m_buffer);
Мой main()
начинается с glewInit
и glutInit
. Программы OpenGL 1 скомпилированы и работают нормально, это просто новые функции, завернутые glew.
Один учебник говорит, что я должен иметь это испытание, прежде чем пытаться что-нибудь еще:
if (false == glewIsSupported ("GL_VERSION_2_0"))
Этот тест всегда терпит неудачу, даже когда я изменить строку версии для GL_VERSION_1_0
.
#define GL_VERSION_1_3 1
- это наивысшее такое определение в GL/gl.h, и нет каталога GL/gl3.h или GL/GL3.
apt
говорит, что у меня есть freeglut3 и freeglut3-dev, а также mesa-common-dev, libglew-1.6 и libgl1-mesa-dev, но, похоже, нет никакого пакета libgl3 *.
Вот некоторая информация водителя (у меня нет никаких проприетарных драйверов, интегрированной графикой Intel Ivy Bridge с Nvidia дополнительной карты, оба я верю OpenGL 1.4 совместимый)
#> glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL version string: 3.0 Mesa 9.0
OpenGL shading language version string: 1.30
Все это оставило меня совершенно смущенный.
Существуют ли конкретные пакеты OpenGL2/3/4, которые я должен устанавливать, или, теоретически, это один и тот же пакет разработки для всех (для Ubuntu)?
Почему GL_VERSION_1_3 самая высокая определенная версия, тогда как glGenBuffers не вводилась до версии 1.5?
Почему glewIsSupported терпит неудачу даже для версии 1.0?
Создается впечатление, что у меня нет библиотек и/или драйверов, которые фактически реализуют API, но кажется, что я делаю согласно glxinfo, что заставляет меня думать, что что-то не так с библиотеками разработки, но я не имеют четкой картины того, что там происходит.
В принципе, что мне нужно сделать, чтобы моя программа могла компилировать/связывать/запускать?
Я знаю, что Ubuntu не является отличной средой разработки, но, пожалуйста, не предлагайте мне менять дистрибутив. Должно быть, путь!
ли 'glewInit()' 'возвращение GLEW_OK'? – genpfault