2013-03-25 4 views
36

Я недавно начал изучать OpenGL (> 3.3) & Я заметил много примеров. & В учебниках используется как freeglut & glew, но и не объясняют разницу вообще. Лучшее описание, которое я нашел, после поискового запроса &, читающего объявление nauseum, было OpenGL Related toolkits and APIs, но ему не хватало. Я даже прочитал информацию о тегах на SO.
Разница freeglut vs glew?

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

Так что мой вопрос заключается в том, в чем разница между:
-freeglut
-glew
- (& glfw)
Что можно сделать , что другой не может ?

+3

Но это как раз то, что я уже сказал, все примеры и учебные пособия, которые я прочитал и т. Д., Не дают ясности ** начинающему **, что они на самом деле делают, отсюда и мое замешательство. Все примеры используют функции и т. Д., Но на самом деле не указывают, что можно делать, а другое не может быть ясным. – ReturnVoid

ответ

44

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

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

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

+1

@MichhaelIV Я отредактировал свой ответ –

2

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

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

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

+0

Так что в принципе, можно было просто решить использовать freeglut самостоятельно? Или само по себе? Без одного. Таким образом, у любого из них есть все необходимые функции, которые у других есть, зачем включать оба? Опять же, я не понимаю.Извините, если это звучит очень толсто, но я этого не делаю, и тот факт, что все примеры, которые я видел, включает оба или какой-то подобный вариант, не помогает. – ReturnVoid

+0

Подвешивание, так что GLEW - это C/C++ конкретный? Принимая во внимание, что Glut/freeglut нет? Означает ли это, что кто-то, кто работает с C# или .net или что-то, что не является C/C++, не может использовать GLEW, им придется использовать перенасыщение или что-то еще? – ReturnVoid

+1

Вы не обязаны использовать GLEW, потому что это менеджер версий (он гарантирует, что у вас есть соответствующие версии для вашей ОС), но это полезно. Вы также можете удалить freeglut, если хотите использовать GLUT по умолчанию, но тогда вы будете использовать старое программное обеспечение, потому что оно кажется заброшенным ... – mrcasals

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

  • Нет связанных вопросов^_^