Использование GLEW для использования расширений OpenGL под Windows
Я использую расширения OpenGL в Windows болезненным способом. Это библиотеки GLEW тем легче путь? С чего мне начать?
3 ответов
да Библиотека Wrangler Расширения OpenGL (GLEW) - безболезненный способ использования расширений OpenGL в Windows. Вот как начать работу над этим:
определите расширение OpenGL и API расширения, которые вы хотите использовать. Расширения OpenGL перечислены в Реестр Расширений OpenGL.
проверьте, поддерживает ли ваша графическая карта расширения, которые вы хотите использовать. Загрузите и установите последние версии драйверов и SDK для вашей графики карта.
последние версии NVIDIA OpenGL SDK корабль с GLEW. Если вы используете это, вам не нужно делать некоторые из следующих шагов.
скачать библиотеки GLEW и распаковать его.
добавить GLEW bin путь к вашей Windows путь переменные среды. Кроме того, вы также можете разместить glew32.dll файлы в каталоге, где Windows подбирает свои библиотеки DLL.
добавить GLEW включить путь к списку каталогов include вашего компилятора.
добавить GLEW lib путь к списку каталогов библиотеки вашего компилятора.
проинструктируйте компилятор использовать glew32.Либ!--8--> во время соединения. Если вы используете компиляторы Visual C++, то один из способов сделать это-добавить в код следующую строку:
#pragma comment(lib, "glew32.lib")
добавить #include <GL/glew.h>
строка кода. Убедитесь, что это помещено над включениями другого заголовка GL файлы. (На самом деле вам могут не понадобиться файлы заголовков GL, если вы включаете glew.h
.)
инициализировать GLEW с помощью glewInit()
после инициализации GLUT или GL. Если это не удается, то что-то не так с вашей установкой.
if (GLEW_OK != glewInit())
{
// GLEW failed!
exit(1);
}
Проверьте, доступны ли расширения, которые вы хотите использовать, через GLEW. Вы делаете это, проверяя логическую переменную с именем библиотеки GLEW_your_extension_name который подвергается GLEW.
пример:
if (!GLEW_EXT_framebuffer_object)
{
exit(1);
}
вот именно! Теперь вы можете использовать вызовы расширения OpenGL в коде так же, как если бы они существовали естественно для Windows.
лично я бы не использовал команду exit.
Я бы выдал исключение, чтобы вы могли очистить любую другую инициализацию в конце функции.
ie:
try
{
// init opengl/directx
// init directaudio
// init directinput
if (GLEW_OK != glewInit())
{
throw std::exception("glewInit failed");
}
}
catch ( const std::exception& ex )
{
// message to screen using ex.what()
// clear up
}
и я согласен с OJ-если вы хотите писать учебники для других, то это действительно неправильное место для него. Уже есть множество хороших мест для учебных пособий opengl. попробуйте этот, например.
Я потерял некоторое время, но, наконец, мне удалось заставить Глю работать. Я использую Windows7 (x64), Eclipse CDT и MinGW, и способ таков:
загрузите MSYS (для MinGW) и rember, чтобы правильно установить MinGW (переменная окружения пути установлена правильно): http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download?use_mirror=freefr&download=
после установки MSYS перейдите к: http://glew.sourceforge.net/ и скачать пакет TGZ, который предназначен для использования с системами UNIX
затем откройте пакет (вы также можете использовать 7zip) и найдите "Makefile". Откройте его и с помощью текстового редактора (Блокнот должен работать нормально) найдите строку, содержащую "GLEW_DEST", и замените ее чем-то вроде "GLEW_DEST ?= C:/MinGW"
теперь вы готовы к работе, откройте MSYS (C:\MinGW\msys\1.0\msys - ... летучая мышь в моем случае) и в оболочке открыт, перейти к папка, в которой находится "Makefile".
тогда напишите просто: "make install" и работа сделана (по крайней мере, для меня это сработало)
PS: Я также скопировал вставленный glew-1.10.0-win32\glew-1.10.0\bin\Release\Win32 файл в папку System32, а в Eclipse CDT я добавил библиотеку "glew32" в опции компоновщика и добавил #include <GL/glew.h>
до #include <GL/glut.h>