Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Завершение работы с GLUT [Delphi, D5, Windows, w2k,wXP]


Closer ©   (2004-02-09 15:47:00) 

Когда я закрываю окно созданое с помощю GLUT, процесс остаётся висеть в памяти. Как добиться нормального закрытия окна?


program TestGLUT;

uses
 Glut in 'Glut.pas',
 GL in 'GL.pas',
 GLu in 'GLu.pas';

procedure Draw; cdecl;
const
 Alpha:Integer=0;
begin
 glClear(GL_COLOR_BUFFER_BIT);

 glLineWidth(3);
 glColor3f(0, 0.6, 0.9);

 glPushMatrix();
 glRotatef(alpha, 0, 0, 1);
 Alpha:=Alpha+4;
 if Alpha > 359 then Alpha:=0;
 glBegin(GL_LINES);
   glVertex2f(-0.5, 0.5);
   glVertex2f(0.5, -0.5);
 glEnd();
 glPopMatrix();

 glFlush();
 glutSwapBuffers();
end;

procedure Timer(Value:Integer); cdecl;
begin
 glutPostRedisplay();  // Redraw windows
 glutTimerFunc(40, Timer, 0); // Setup next timer
end;

procedure Visibility(State:Integer); cdecl;
begin

end;

procedure Reshape(Width,Height:Integer); cdecl;
begin
 glViewport(0, 0, width, height);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(-1, 1, -1, 1);
 glMatrixMode(GL_MODELVIEW);
end;

var
 Cmd:array [0..20] of PChar;
 Count:Integer;
 I:Integer;
 WinHandle:Integer;

begin
 for I:=0 to ParamCount do
   Cmd[i] := PChar(ParamStr(I));
 Count := ParamCount + 1;

 glutInit(@Count, @Cmd);
 glutInitWindowSize(800,600);
 glutInitWindowPosition(0,0);
 glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE);
 WinHandle:=glutCreateWindow('TestGLUT');
 glutDisplayFunc(@Draw);
 glutReshapeFunc(@Reshape);
 glutVisibilityFunc(@Visibility);
 glutTimerFunc(40,@Timer,0);

 glutMainLoop;
end.


P.S.
 Если я добавлю какой либо код после glutMainLoop, выполнится ли он?


d   (2004-02-09 19:46:00) [1]

www.sulaco.co.za


ArchangelM   (2004-02-09 18:00:00) [2]

А зачем тут GLUT??
Тут и OpenGL хватит!!
Буквально строчек 20 дописать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо