Так что это дузи;
У меня довольно большое решение OpenGL, написанное в ядре версии 3.2 с GLSL 1.5 в Windows 7. Я использую GLEW и GLM в качестве вспомогательных библиотек. Когда я создаю окно, я использую следующие строки:
// Initialize main window
glewExperimental = GL_TRUE;
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); // Use OpenGL Core v3.2
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
if(!glfwOpenWindow(Game::WINDOW_X, Game::WINDOW_Y, 0, 0, 0, 0, 32, 0, GLFW_WINDOW))
{ ...
Если я опущу три функции glfwOpenWindowHint, приложение завершит работу моих видеодрайверов при вызове glDrawArrays (GL_TRIANGLES, 0, m_numIndices);
Но вот кикер. Когда кто-то в моей группе пытается обновить и запустить решение, он получает пустое окно без геометрии. Закомментирование трех строк делает программу работающей для них нормально. Существует довольно четкое разделение между работой с подсказкой 3.2core и без нее. Я не смог определить разницу между nVidia, AMD, настольным ПК или ноутбуком.
Лучшее, что я смог найти, было предложение добавить glewExperimental = GL_TRUE; как говорят, у Глю были проблемы с ядром. Это не имело никакого значения. Решение слишком велико для размещения кода, но я могу установить шейдеры, рендеринг кода и т. Д. По мере необходимости.
Большое спасибо! Это убивает нас уже несколько дней.