Заголовки OpenGL 4.2, Mesa 3D, расширения — как они сочетаются друг с другом?

Теперь мне было очень трудно найти информацию о заголовках и расширениях OpenGL и о том, как получить доступ к последним функциям. OpenGL.org не затрагивает ничего из этого, как и Mesa (обновлено в 2006 году!) или кто-либо еще, но я не думаю, что я единственный, кто хочет это понять.

Я разрабатываю Archlinux с драйверами Nvidia, поддерживающими 4.2, которые, по-видимому, не поставляются с заголовками OpenGL (во всяком случае, не с репозиториями). Вот тут и начались проблемы и неразбериха. Я читал, что мне следует использовать заголовки Mesa3D - в настоящее время они поддерживают OpenGL 3.0. Это то, что я установил сейчас.

Теперь я где-то читал, что основной заголовок OpenGL 4.2 — gl.h — предоставляет только функции OpenGL 1.2. Остальное (до 4.2) доступно через загрузку расширений — это означает, что эти заголовки 3.0 будут в порядке, даже если я буду разрабатывать против 4.2 — я просто загружу все основные функции 4.2 в виде расширений.

Я где-то читал, что заголовок gl.h действительно предоставляет разные функции между 4.2 и 3.0 - я просто не могу ничего проверить, так как нахожу так много устаревших статей и никакой достоверной информации.

Кто-нибудь может объяснить, как все это сочетается?


person Max    schedule 22.05.2012    source источник
comment
Существует заголовок gl3.h, который включает функциональность OpenGL 3.X.   -  person Arpegius    schedule 22.05.2012


Ответы (1)


Лучше всего, вероятно, просто использовать сторонний менеджер расширений, такой как GLEW (библиотека обработчика расширений OpenGL). Он довольно прост в использовании и содержит все последние расширения.

person ragnar    schedule 29.06.2012