Virtualbox и VMware затрудняют изучение OpenGL. У меня есть виртуальная машина Linux (Lubuntu 12.10), и это то, что я получаю как ошибки при запуске моей программы:
VMware:
Unable to create OpenGL context
VirtualBox:
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
На обеих виртуальных машинах установлены соответствующие гостевые дополнения и включено 3D-ускорение.
glxgears работает на обеих машинах: /
Мой код такой же, как здесь: http://open.gl/context
Я предполагаю, что проблема может заключаться в том, что версия OpenGL в данном примере — 3.2, поэтому я попытался изменить ее на 2.1, и в этот момент VMware больше не выдает никаких ошибок, но окно по-прежнему не отображается.
Спасибо!
Если вы новичок, то я не думаю, что начинать с MESA на любой виртуальной машине — хорошая идея. Настройка MESA в целом довольно сложная. Также MESA OpenGL устарел. Он поддерживает до версии 3.2 atm. Если вы хотите начать с OpenGL правильным и понятным способом, вам лучше настроить контекст с библиотеками вроде GLUT или GLFW и загрузите расширение GL с помощью GLEW(есть еще).
Кроме того, в сети есть много учебных пособий о том, как начать работу с OpenGL. этот.
И не используйте VM, это значительно снижает производительность.
ОБНОВИТЬ:
Как правильно указывал здесь Datenwolf, реализация MESA не «устарела», а скорее отстает от последней спецификации OpenGL, которая в настоящее время является 4.4
Других решений пока нет …