1.opengl窗口管理
初始化过程:i.对GLUT初始化 glutInit(int *argc, char** argv) 如果窗口没有argc和argv的话 这样初始化;
int a=1; glutInit(&a,NULL);
ii.对显示模式初始化 glutInitDisplayMode(unsigned int mode)
iii.对窗口的初始化 glutInitWindowPosition(int x,int y) glutInitWindowSize(int width, int size)
int glutCreateWindow(char *string)
iv.显示回调函数 glutDisplayFunc(void (*func)(void))
如果程序中间改变了窗口的内容则需要调用glutPostRedisplay()
运行程序:glutMainLoop()
处理输入事件: glutReshapeFunc(void (*func)(int w,int h))
glutKeyboardFunc(void (*func)(unsigned char key, int x, int y))
glutMouseFunc(void (*func)(int button, int state, int x, int y))
glutMotionFunc(void (*func)(int x, int y)) 鼠标按钮移动鼠标
空闲处理:
glutIdleFunc(void(*func)(void)) 回调函数中指定一个函数,如果不存在其他尚未完成的事件,就执行这个函数