Как использовать текущую версию opengl в cygwin?

Я использую OpenGL с cygwin в течение нескольких месяцев для программирования некоторых 3d-приложений. Теперь я хочу попытаться написать несколько более продвинутые методы, используя такие вещи, как объекты буфера вершин. Однако я заметил, что столкнулся с препятствием: когда я использую glGetString(GL_VERSION) в моей программе он выплевывает 1.4.

Я скомпилировать свою программу с этими флагами: -lGL -lglut -lGLU -lGLEW и включили эти заголовки: freeglut.h glew.h. Я выбрал ссылку на библиотеки X11 против библиотек windows, как объяснил здесь. Мои текущие программы OpenGL строятся и могут запускаться (потому что до сих пор я использовал более старые функции-pre-OpenGL 1.4).

у меня есть новый настольный компьютер с видеокартой ATI FirePro V4800 (FireGL), которая может поддерживать до OpenGL 4.1. Я установил последние драйверы, и он проходит тесты, поставляемые программой: OpenGL Extensions Viewer. Кроме того, программа показывает, что все расширения, в том числе 4.1 доступны для моя видеокарта.

есть краткое упоминание здесь в последнем ответе говорится, что cygwin может захотеть использовать более старые библиотеки DLL (те, которые не поддерживают шейдеры и т. д.). Это проблема cygwin? Будет ли cygwin просто не распознавать мои последние драйверы и предлагать мне классные вещи в OpenGL 4.1? Или я не связываюсь с нужными библиотеками?

обновление

узнав, как работает X-сервер Cygwin, я решил, что должен переключиться на собственные библиотеки Windows freeglut. Я схватил предварительно скомпилированные двоичные файлы, найденные здесь и поместите файлы в соответствующие каталоги, чтобы связать с ними. После перекомпиляции я могу использовать все параметры, найденные в OpenGL, как позволяет моя видеокарта (4.1).

1 ответов


при использовании X-сервера Cygwin запустите его с опцией-wgl (текущие версии делают это автоматически), затем

export LIBGL_USE_WGL=1

на машине, с которой я отправляю, я получаю:

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Intel(R) HD Graphics 2500
OpenGL version string: 4.0.0 - Build 9.17.10.3062
OpenGL shading language version string: 4.00 - Build 9.17.10.3062
[...]

отключение переменной окружения:

$ glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)
OpenGL version string: 3.0 Mesa 10.3.5
OpenGL shading language version string: 1.30
[...]