一、glutPostRedisplay( )
glutPostRedisplay()所執行的功能類似於直接調用顯示回調函數display(),但該函數允許實現在對何時真正需要調用顯示回調函數而作出決策時,變得更加“智能化”。在GLUT遍歷整個事件循環時,必然會檢索到許多要求窗口重繪的事件。如果每次都去直接調用顯示回調函數,窗口必然會被多次繪制。而使用glutPostRedisplay()之后,就使得在遍歷消息隊列的整個過程中,只對窗口重繪一次。一般來說,在屏幕需要重繪時,使用glutPostRedisplay()而非直接調用顯示回調函數是非常明智的。
二、glutTimerFunc( )
glutTimerFunc(unsigned int millis, void (*func)(int value), int value)函數
1), 定義定時器回調函數 void myTimer(int value)用value區分是哪個定時器
2), 在函數里改變和位置有關的變量,然后調用glutPostRedisplay();用來重繪
3), 在定時函數末尾再次調用glutTimerFunc