Форум: "Игры";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Вниз
Завершение работы с GLUT Найти похожие ветки
← →
Closer © (2004-02-09 15:47) [0]Когда я закрываю окно созданое с помощю 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, выполнится ли он?
← →
ArchangelM (2004-02-09 18:00) [1]А зачем тут GLUT??
Тут и OpenGL хватит!!
Буквально строчек 20 дописать...
← →
d (2004-02-09 19:46) [2]www.sulaco.co.za
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.043 c