PMG

Форумы по созданию игр
Текущее время: 18 апр 2024 06:44

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Глючит GLU или minGW?
СообщениеДобавлено: 22 июн 2007 17:02 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 22 июн 2007 16:06
Сообщения: 3
Всем привет. Я только что у вас зарегистрировался, хотя сайт посещаю давно. У меня к вам такой вопрос: Мне необходимо воспользоваться функциями тесселляции или по нашему мазайки. GLU предостевляет набор функций gluTess..бла-бла-бла . Ошибки возникают в функции обратного вызова gluTessCallback. Причем компилятор (у меня MinGW) ругается на третий аргумент в котором вызываются родные функции GL.
Код:
gluTessCallback(pTess, GLU_TESS_BEGIN, glBegin);
А ошибки такие:
Код:
tesswind.c:215: invalid conversion from `void (*)()' to `void (*)()'
tesswind.c:217: invalid conversion from `GLvoid (*)()' to `void (*)()'

Это у меня глючит MinGW или GLU может старая?

PS: не компилится даже редбуковский код (tess.c и tesswind.c)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 июн 2007 08:04 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Это проблема MinGW. Как ты определяешь glBegin?

Попробуй определить typedef на основе GLvoid и явно указать тип перед glBegin.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2007 13:47 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 22 июн 2007 16:06
Сообщения: 3
Да дело в MinGW. Штуки с типдефами тоже работают пробавал:
Код:
typedef GLvoid (CALLBACK*GLUtessCallBackFunc)(void);
.....
.....
...gluTessCallback(tessObj, GLU_BEGIN, (GLUtessCallBackFunc)glBegin);
Что же, сменю среду разработки, с VisualStudio этой проблемы не возникает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 июн 2007 16:25 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Я думаю проблема останется. Надо явно указывать тип. Раньше с VS6 проблем не было, а сейчас вообще заколебался эти типы указывать...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 июн 2007 21:45 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 22 июн 2007 16:06
Сообщения: 3
Да ты был прав:
Цитата:
Надо явно указывать тип
Спасибо за совет.
Приведенный выше код должен выглядеть так:
Код:
gluTessCallback(pTess, GLU_TESS_BEGIN, (GLvoid (CALLBACK*) ()) &glBegin);
Тогда проблем не будет. Кстати можно указывать собственные функции обратного вызова в качестве третьего (злосчастного) аргумента gluTessCallback.
И ещё.... Не знаю как в VS а в MinGW, для того чтобы все это работало, мне пришлось зайнклюдить windows.h


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2007 12:59 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
А ну без этого никуда ... :p

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB