Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа - шаблон для изучения OpenGL 
:(
    Опции темы
Psyhonaut
Дата 23.10.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.10.2005
Где: Петрозаводск

Репутация: нет
Всего: нет



Хочу изучать програмирование графики с использованием OpenGL, но я еще не изучал програмирование под ОСи, поэтому создавать окна для рисования не умею.
В книге нашел такую вот заготовку :
Файл basis.h
Код

#include<windows.h>
#include<gl\gl.h>
#include<gl\glu.h>
#include<gl\glaux.h>

#pragma warning(disable : 4305)
#pragma warning(disable : 4244)

Собсно сама заготовка
Код

#include "basis.h"
static void init(void);
static void CALLBACK Reshape(int width, int height);
static void CALLBACK Draw(void);

//Глобальные переменные для хранения текущих размеров окна
GLint windW, windH;

static void init(void)
{
    //Здесь распологаются необходимые инициализирующие действия
}

static void CALLBACK Reshape(int width, int height)
{
    windW = (GLint)width;
    windH = (GLint)height;
    //Здесь будем отслеживать изменение размеров окна
}

static void CALLBACK Draw(void)
{
    //Здесь вызываются команды рисования
}

void main(int argc, char **argv)
{
    //Если приложение получает дополнительную входную информацию,
    //можно предусмотреть разбор командной строки
    if (Args(argc, argv) == GL_FALSE){
        //Параметры были заданы неверно - завершаем работу
        auxQuit();
}
    //Задаем размеры окна, в котором будем рисовать
    windW = 300; //ширина
    windH = 300; //высота
    
    //Определяем, где будет распологаться окно
    auxInitPosition(250, 100, windW, windH);
    //Поручаем библиотеке произвести необходимые установки
    //для работы с OpenGL
    auxInitDisplayMode(AUX_RGB | AUX_DOUBLE);

    //Выводим окно на экран, определив его заголовок,
    //который несет дополнительную информацию о приложении
    if(auxInitWindow("Текст заголовка окна") == GL_FALSE)
    {
        //На этот раз не удалось положительно поработать - нужно корректно
        //завершить работу
        auxQuit();
    }
    //Проводим необходимые инициализирующие действия
    init();

    //Определяем функцию которая будет вызываться при изменении
    //размеров окна...
    auxReshapeFunc((AUXRESHAPEPROC)Reshape);

    //...и, наконец, ту функцию, которая отвечает за рисование
    auxMainLoop(Draw);
}

В книге написано что откомпилировав эту програграмму получим окно, но при компиляции вылезает ошибка.Пормогите пожалуйста, как исправить эту программу, чтоб она создавала окно.
PM MAIL ICQ   Вверх
Psyhonaut
Дата 23.10.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.10.2005
Где: Петрозаводск

Репутация: нет
Всего: нет



Кстати, пишу в VC++ 6.0.
PM MAIL ICQ   Вверх
Exception
Дата 23.10.2005, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 1
Всего: 186



не туда постишь..
какая ошибка?
PM   Вверх
Psyhonaut
Дата 23.10.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.10.2005
Где: Петрозаводск

Репутация: нет
Всего: нет



Почему не туда?!Тут ведь обсуждается програмирование графики.
Ошибка такая, пишет мол Args( в строке 30, if (Args(argc, argv)...) не объявлен.Так как с програмингом под винду не знаком, как и чем его объявлять не знаю.
Args используется тока для проверки корректно ли заданы параметры argc и argv, но для работы программы проверку производить не обязательно, поэтому я пробовал закоментировать эти строки, но стало вылазить еще больше ошибок:

Compiling...
Zagotovka.cpp
Linking...
Zagotovka.obj : error LNK2001: unresolved external symbol _auxMainLoop@4
Zagotovka.obj : error LNK2001: unresolved external symbol _auxReshapeFunc@4
Zagotovka.obj : error LNK2001: unresolved external symbol _auxQuit@0
Zagotovka.obj : error LNK2001: unresolved external symbol _auxInitWindowA@4
Zagotovka.obj : error LNK2001: unresolved external symbol _auxInitDisplayMode@4
Zagotovka.obj : error LNK2001: unresolved external symbol _auxInitPosition@16
Debug/Zagotovka.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.

Zagotovka.exe - 7 error(s), 0 warning(s)



PM MAIL ICQ   Вверх
Psyhonaut
Дата 24.10.2005, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.10.2005
Где: Петрозаводск

Репутация: нет
Всего: нет



Проблема решена, тему можно закрыть smile.Надо было просто подключить gl-lib'ы.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.