glutPostRedisplay

glutPostRedisplay是一個計算機指令單碼,需要標記當前視窗需要重新繪製。

用法

void glutPostRedisplay(void);

glutPostRedisplay 標記當前視窗需要重新繪製。 通過glutMainLoop下一次循環時,視窗顯示將被回調以重新顯示視窗的正常面板。多次調用glutPostRedisplay,在下一個顯示回調只產生單一的重新顯示回調。

為了便於理解,用下面的例子 來說明:

假設有繪製代碼:

glutDisplayFunc(display); // opengl drawing goes here

glutTimerFunc(30, drive, -1); // physics, movement equations here

glutMainLoop();

另外有代碼如下:

void drive (int data)

{

glutTimerFunc(30, drive, -1); // call drive() again in 30 milliseconds

/*callback function moves the car. .... move x, y, z, etc

前面的代碼不用理解,就是移動了物體,繪製的畫面改變了*/

glutPostRedisplay();

}

如果有glutpostredisplay,mainloop運行的過程會像下面這樣:

drive (-1);

display();

drive (-1);

display();

drive (-1);

display();

...

如果沒有glutPostRedisplay,glutMainloop運行的過程會像下面這樣:

drive (-1);

drive (-1);

drive (-1);

...

相關詞條

相關搜尋

熱門詞條

聯絡我們