Как обрабатывать команды OpenGL в цикле
Пишу простую программу - точка ползёт по экрану.
Не понимаю, как написать цикл. Написал такой код. Переменная X изменяется в цикле, и у точки меняются координаты. Ошибки компилятора нет, но окно с точкой не выводится. Может я с последовательностью команд что-то напутал?
#include <iostream>
#include <glut.h>
#include <windows.h>
float X;
void display()
{
glClearColor(1.0, 1.0, 1.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPointSize(8);
glBegin(GL_POINTS);
glColor3f(0,0,0);
glVertex2f(X, X);
glEnd();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
X = 0.1;
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(0, 0);
glutInitWindowSize(1920, 1080);
glutCreateWindow("Проба");
glutDisplayFunc(display);
while (X < 1)
{
X = X + 0.01;
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
}