-2
這在Linux中運行良好,但在Windows上窗口停止響應,鼠標進入等待光標。我錯過了什麼?窗口正在凍結
// initialization
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutInitWindowSize(1024, 768);
glutCreateWindow("GL Window");
glutTimerFunc(2, update, 0);
glutDisplayFunc(display);
glutMainLoop();
// ...
fflush(stdout);
// update rate
void update(int value)
{
glutPostRedisplay();
glutTimerFunc(250, update, 0);
}
// loop
while(true)
{
display()
{
drawing(5);
glutSwapBuffers();
}
}
// drawing
void drawing(unsigned int sides)
{
if (sides < 3) return;
const float step = (2 * PI)/static_cast<float>(sides);
glBegin(GL_LINE_LOOP);
for (unsigned int i = 0; i < sides; ++i)
{
glVertex2f(cos(i * step), sin(i * step));
}
glEnd();
}
當你在'drawing()'函數結束時'glFlush()'會發生什麼?你是否闖入調試器來測試它,看看它是否掛在_your_代碼的某個地方? – Qix
沒有區別。它不會掛在某個地方。正如我所說的,它在linux中運行良好。 – telcom
我認爲Qix意味着嘗試在Windows中逐步查看它掛起/凍結的位置 – Alex