Использование 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>