今天正式开始学习opengl,首先看到的就是这个glutTimerFunc()函数
下面来好好说明一下这个函数,首先看下面的代码
int main(int argc, char *argv[])
{
//初始化opengl环境
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
//创建窗口
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个OpenGL程序");
//设置相关回掉函数
glutDisplayFunc(&myDisplay);
glutTimerFunc(1,myTimerFunc,0);//
glutReshapeFunc(&myReshape);
glutKeyboardFunc(&myKeyboardFunc);//
//初始化opengl绘制状态
SetRC();
//进入消息循环
glutMainLoop();
return 0;
}
然后让我们专门看看glutTimeFunc()函数,不难看出,这个函数必然和时间有关系,它的函数原型是
glutTimerFunc(unsigned int millis, void (*func)(int value), int value);
参数对应关系为:glutTimerFunc(毫秒数, 回调函数指针, 区别值);
void myDisplay(void);
void myTimerFunc(int val)
{
seta+=1;
myDisplay();
glutTimerFunc(1,myTimerFunc,0);
}
上面这段代码的意思就是,每隔一秒刷新一次