2013-12-24 4 views
-1

Возможно ли освоить «современный» OpenGL с SDL2.0 без использования загрузочной обертки?Современный OpenGL с библиотекой SDL/загрузки

Я читал, что мне пришлось использовать библиотеку загрузки OpenGL, чтобы использовать такую ​​функцию, как glGenVertexArrays.

Но если это так, какую библиотеку загрузки я должен использовать? GLEW, похоже, не поддерживается. GLFW кажется новым, но если я его использую, SDL больше не нужен?

+0

Честно говоря, я понятия не имею, что такое «библиотека загрузки» ... но могу вам сказать, что, хотя glfw и SDL служат (примерно) той же целью, GLEW полностью не связана ни с одной из этих двух библиотек. И GLEW очень поддерживается, он в состоянии, что его действительно нужно обновлять примерно раз в год, когда OpenGL ARB выпускает новую версию спецификации OpenGL. –

ответ

2

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

GLFW, с другой стороны, представляет собой абстракцию, которая позволяет создавать окна и контексты OpenGL на различных поддерживаемых платформах без необходимости писать код, специфичный для этой платформы. Процесс настройки окна на OSX сильно отличается от процесса настройки в Microsoft Windows, и именно это GLPW защищает вас. В связи с этим GLFW является подмножеством функциональности SDL, который пытается сделать то же самое, но с большим фокусом, обеспечивая доступ к аудиовыходу и/или входам игрового устройства.

Независимо от того, нужно ли использовать библиотеку загрузки, такую ​​как GLEW с SDL или GLFW, в основном продиктована платформой, которую вы пытаетесь настроить, и функцией OpenGL, которую вы хотите использовать. Если вы пытаетесь использовать современный OpenGL, то есть 3.x или 4.x, и вы работаете с платформой, которая не имеет полной поддержки для нее в своих заголовках OpenGL, тогда вам, вероятно, придется полагайтесь на GLEW, чтобы заполнить этот пробел для вас.

Смежные вопросы