разница freeglut против glew?

недавно я начал изучать OpenGL (>3.3), и я заметил, что многие примеры и учебники используют как freeglut, так и glew, но на самом деле не объясняют разницу вообще. Лучшее описание, которое я нашел, после того, как гуглил и читал ad nauseum, было это OpenGL связанные наборы инструментов и API но не нашел его. Я даже прочитал информацию о теге SO.

Как кто-то действительно новый для OpenGL, я все еще пытаюсь понять различные концепции. Я этап создания базовой программы, которая использует glew, создает контекст (на windows, VS2010) и рисует действительно базовые фигуры, все без необходимости явно включать freeglut. Поэтому я не понимаю, зачем мне это нужно.

Итак, мой вопрос в том, что такое разница между:
-библиотеку freeglut
-библиотеки GLEW
-(& glfw)
Что тут поделаешь!--8-->что другой не может?

2 ответов


Расширение OpenGL Wrangler (библиотеки GLEW) используется для доступа к современным функциям OpenGL API (версия 3.2 до последней версии).Если мы используем древнюю версию OpenGL, мы можем получить доступ к функциям OpenGL, просто включая as #include <GL/gl.h>.Но в современном OpenGL функции API определяются во время выполнения, а не во время компиляции. GLEW будет обрабатывать загрузку времени выполнения API OpenGL.О библиотеки GLEW см. здесь

GLFW или freeglut позволит нам создать окно и получать ввод с помощью мыши и клавиатуры кросс-платформенным способом. OpenGL не обрабатывает создание или ввод окна, поэтому мы должны использовать эту библиотеку для обработки окна, клавиатуры, мыши, джойстиков, ввода и других целей.

GLFW и freeglut Альтернатива для нас согласно нашей потребности мы можем выбрать любое одно но библиотеки GLEW отличается от них, который используется для загрузки времени выполнения API OpenGL.


Я использую их обоих для работы в моем университете.

библиотеки GLEW является "кросс-платформенной библиотекой загрузки расширений C/C++ с открытым исходным кодом" (со своего веб-сайта), в то время как freeglut - это оконный менеджер, который заменяет библиотеку OpenGL Utility Toolkit (GLUT) по умолчанию.

Итак, как вы видите, оба разные имеют разные цели. Смысл использования freeglut заключается в том, что он все еще поддерживается, в то время как избыток по умолчанию-нет, поэтому, если вы хотите исправления ошибок и новые возможности вы должны использовать его:)