Какая версия OpenGL по умолчанию установлена ​​вместе с MinGW? - PullRequest
3 голосов
/ 01 января 2011

Я недавно пытался возложить руки на OpenGL. Пытаясь понять API, я использую MinGW вместе с OpenGW. Теперь я узнал (или получил совет), что я не должен больше использовать glBegin и glEnd, поскольку они устарели, но вместо этого должны начинаться с OpenGL 3.1. Поскольку я не знал, что используемая версия имеет такое значение, я не обращал особого внимания на то, какую версию я фактически установил на свой компьютер. И, насколько я вижу, нет glVersion или подобного вызова, который я мог бы использовать для определения этой версии.

Поскольку я использую MinGW, я перешел к соответствующей папке include и нашел в c:\MinGW\include\GL\gl.h:

/*
 * Mesa 3-D graphics library
 * Version:  4.0

 [more lines]

 */

 [more lines]


#define GL_VERSION_1_1   1

#if !defined(__WIN32__)
#define GL_VERSION_1_2   1
#define GL_VERSION_1_3   1
#define GL_ARB_imaging   1
#endif

 [more lines]

#define GL_VERSION                              0x1F02

, что, на мой взгляд, означает, что установленная версия составляет всего 1,3. Это тот случай или как я могу проверить свои подозрения? Кроме того, где я могу найти более позднюю версию (которая прекрасно работает вместе с MinGW), если у меня есть только 1.3 (или какая-либо другая версия)?

Итак, кто-то знает, верно ли мое подозрение и что MinGW поставляется с устаревшей версией OpenGL?

Редактировать Я понимаю, что этот вопрос можно считать дубликатом Какая версия OpenGL по умолчанию установлена ​​вместе с MinGW? , но я считаю, что этот вопрос специально задан о MinGW и OpenGL, поэтому я думаю, что этот факт дает (возможно) более конкретный ответ.

Ответы [ 3 ]

6 голосов
/ 01 января 2011

Итак, кто-то знает, верно ли мое подозрение и что MinGW поставляется с устаревшей версией OpenGL?

MinGW поставляется без "OpenGL", вашей операционной системы (графикаДрайвер карты, как правило) предоставляет OpenGL.

MinGW предоставляет файл заголовка (gl.h) и соответствующую библиотеку (libopengl32.a), которая является оболочкой для opengl32.dll, динамической библиотеки, которая поставляется с Windowsи содержит дескрипторы функций OpenGL 1.0 и 1.1 ... что-то в этом роде, не уверен насчет точных номеров версий.

Затем:

Большинство операционных систем позволяют использовать весь OpenGL вАналогичным образом.

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

Существуют библиотеки, которые делают это для вас и позволяют использовать функционал OpenGL 3/4это легко.Я рекомендую gl3w или GLEW.Это обычный способ использования OpenGL в Windows.

2 голосов
/ 01 января 2011
1 голос
/ 01 января 2011

http://learningwebgl.com/blog/?p=11#troubleshooting содержит некоторую полезную информацию - WebGL использует OpenGL. Вы можете использовать http://www.realtech -vr.com / glview / , чтобы подтвердить свой тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...