?

Log in

No account? Create an account
1 июл, 2009 @ 22:40 Подскажите пожалуйста про free glut (cross-post)
Гугление вопроса не помогло (нет такой инфы), поэтому надеюсь получить ответы в этом сообществе знающих людей.

1. Этот C++ код выдает сообщение "freeglut  ERROR:  Function <glutSetOption> called without first calling 'glutInit'."

int main(int argc, char **argv)
{
glutInit(&argc, argv);
//glutReportErrors();
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("test");
glutDisplayFunc(Draw);
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
glutMainLoop();
//...
}

2. Если раскомментировать glutReportErrors(), то ещё веселее: в бесконечном цикле в консоль выдается мессага "GLUT: Warning in file.exe: GL error: недопустимая операция"

Lang: C++
Compiler: MinGW 5.1.4
IDE: Eclipse
FreeGlut: 2.4.0
OS: Windows XP

3. При компиляции в MSVC 2005 по-прежнему происходит 2-е, но не 1-е.
lalacpp:
From:ex_m039010m
Date:Июль, 1, 2009 21:02 (UTC)
(Ссылка)
Хм.. в первом случае наверно как-нибудь криво подключена библиотека, скорее всего функция glutInit(..) и вправду не вызывается. А в случае с MSVC как вариант смотря, что в функции draw.
У себя просто скомпилил данный пример - все нормально. А насчет бесконечного цикла, можно посмотреть тут, там видно что функция постоянно вызывает glGetError() пока ошибки не кончаться.
(Ответить) (Ветвь дискуссии)