2014-09-07 3 views
25

Мой университет начал преподавать курс, который включает в себя программирование OpenGL. Они заставляют нас использовать FreeGLUT для создания окна и контекста для OpenGL, но я нашел онлайн-курс на lynda.com о OpenGL, в котором они используют GLFW вместо FreeGLUT.В чем разница между FreeGLUT и GLFW?

Итак, я хочу знать, какой из них использовать и какие различия между ними?

ответ

32

FreeGLUT:

  • Основываясь на GLUT API.
  • GLUT существует примерно столько же, сколько и OpenGL.
  • Многие учебники и примеры там используют GLUT.
  • Принимает меры по внедрению цикла событий и работает через обратные вызовы (хорошо для простых вещей, делает вещи, такие как точно синхронизированные циклы анимации и ввод с низкой задержкой).

GLFW:

  • Разработанный с нуля с опытом других структур в виду.
  • Дает гораздо более тонкий контроль над созданием контекста и атрибутами окна.
  • GLFW- Предоставляет основные функции поддержки потоков (создание потоков, синхронизация). - удалено из GLFW-3
  • GLFW- Предоставляет базовую поддержку загрузки файла изображений. - удалено из GLFW-3
  • Дает очень подробный доступ к устройствам ввода.
  • Контур события управляет программистом, который позволяет значительно ускорить синхронизацию и снизить задержку.
+0

Так что glfw лучше, если вы собираетесь использовать приложения с приложениями? – varun

+11

Важно отметить, что ** GLFW3 ** больше не имеет функции потоковой обработки или загрузки изображений. Он хранится как простая библиотека для создания окон с контекстами OpenGL. – Iggy

+4

Следует также отметить, что freeglut выходит за пределы API GLUT и реализует собственные расширения, которые также позволяют больше контролировать атрибуты контекста и окна, а также позволяет пользователю писать цикл событий, как в случае с GLFW. – derhass

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