Подключаем glut к проекту на VC++


В жизни любого программиста наступает момент, когда он захочет программировать графику. На GDI и GDI+ далеко не уедешь, нужно подключать сторонние библиотеки. А тут выбор между заточенным под Windows Direct X и кроссплатформенная OpenGL. Причем последняя намного проще в изучении (по крайней мере, мне так показалось).

Изучение OpenGL я буду освещать в других своих уроках, а для начала давайте настроим среду разработки. Оговорюсь сразу – в большинстве книг используется в качестве примера сильно устаревшая библиотека glut. Тем не менее, она довольно-таки популярна и для новичков самое то (да и многие свои простые программки я сам писал с этой библиотекой).

С этой библиотекой можно работать практически на любом языке программирования (я был удивлен, увидев проекты на Perl), но лично мне удобнее на C++. И вот тут парадокс – хотя ее легко использовать в коде, но настроить среду разработки разработки дело не для слабонервных. Поэтому я решил описать, как ее подключить к своему проекту на VC++( у меня это 2008, но и для VC++ 2010 это актуально).

Итак, для начала скачайте glut здесь. Распакуйте архив и теперь внимательно выполняйте следующие действия:

1. Скопируйте в папку System вашей Windows файл из этого архива glut32.dll.

2. Теперь нам нужно указать среде, что мы будем использовать эту библиотеку. Найдите в каталоге, в который вы установили вашу VC++ вложенные директории include\Gl и lib.

У меня это примерно так: D\Program Files\Microsoft Visual Studio 9.0\VC\include\GL и

D:\Program Files\Microsoft Visual Studio 9.0\VC\lib

3. Скопируйте из архива файлы glut32.lib в Program Files\Microsoft Visual Studio 9.0\VC\lib и glut.h

в Program Files\Microsoft Visual Studio 9.0\VC\include\GL

Теперь важные файлы лежат по своим местам. Как не парадоксально, но это все. Теперь в наших VC++ проектах можно использовать glut. Для этого нужно просто подключить вначале проекта загаловочный файл #include<gl/glut.h>.

Давайте теперь закрепим материал и создадим свой первый проект с glut. Создайте обычный Win32 Application консольный проект. Оставьте все так, как создал мастер. А теперь просто добавьте после #include«stdafx.h» следующий код:

include <gl/glut.h>

void RenderScene(void);
void SetupRC(void);

// Точка входа приложения
void main(void)
{
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
  glutCreateWindow("Simple");
  glutDisplayFunc(RenderScene);
  SetupRC();
  glutMainLoop();
}

//****************************************************
// Функция обратного вызова для рисования сцены
void RenderScene(void)
{
  // Окно очищается текущим цветом,
  // установленным функцией glClearColor()
  glClear(GL_COLOR_BUFFER_BIT);
  // В буфер вводятся команды рисования
  glFlush();
}
  //****************************************************
// Устанавливается состояние инициализации
void SetupRC(void)
{
  glClearColor(0.0F, 0.0F, 1.0F, 1.0F);// RGB + alpha-канал
}

Я все прокомментировал, думаю, что вы разберетесь. Если нет, то в дальнейших уроках по OpenGL я все расскажу. Нам главное показать, как подключать glut.

Теперь скомпилируйте проект и появившиеся графическое окошко Simple покажет вам, что вы все сделали правильно.

VeGA

Комментарии

1 комментарий на “Подключаем glut к проекту на VC++”
  1. levvsev:

    1>Компиляция…
    1>Main.cpp
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(1) : error C2143: синтаксическая ошибка: отсутствие «;» перед «c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(1) : error C4430: отсутствует спецификатор типа — предполагается int. Примечание. C++ не поддерживает int по умолчанию
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(9) : error C2065: GLUT_SINGLE: необъявленный идентификатор
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(9) : error C2065: GLUT_RGBA: необъявленный идентификатор
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(9) : error C3861: glutInitDisplayMode: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(10) : error C3861: glutCreateWindow: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(11) : error C2065: RenderScene: необъявленный идентификатор
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(11) : error C3861: glutDisplayFunc: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(13) : error C3861: glutMainLoop: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(22) : error C2065: GL_COLOR_BUFFER_BIT: необъявленный идентификатор
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(22) : error C3861: glClear: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(24) : error C3861: glFlush: идентификатор не найден
    1>c:\users\seva\documents\visual studio 2008\projects\prgm1\prgm1\main.cpp(30) : error C3861: glClearColor: идентификатор не найден
    1>Журнал построения был сохранен в «file://c:\Users\Seva\Documents\Visual Studio 2008\Projects\Prgm1\Prgm1\Debug\BuildLog.htm»
    1>Prgm1 — ошибок 13, предупреждений 0
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

    что делать?

Добавить комментарий

Внимание! Не будут добавляться комментарии в виде откровенного спама или прямого анкора на свои сайты. Все спамеры будут передаваться в базу Akismet

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: