glutInitDisplayMode (GLUT_SINGLE);
Вам также нужно определить тип желаемого формата кадрового буфера, то есть, по крайней мере, добавить GLUT_RGBA
(и, возможно, вам также нужен буфер глубины). И есть только несколько случаев, когда не нужен двойной буфер. Итак: glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);
Тогда ваша функция отображения не будет вызываться, если вы не добавите glutDisplayFunc(display);
после glutCreateWindow
.
glutMainLoop();
glClearColor(1.f, 0.f, 0.f, 1.f);
glutMainLoop не возвращается. И даже если это так, glClearColor не имел никакого эффекта в этом месте программы.