函数功能:设置初始显示模式,设置基本的窗口类型
函数原型:void glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH)
值 | 对应宏定义 | 意义 |
GLUT_RGB | 0x0000 | 指定 RGB 颜色模式的窗口 |
GLUT_RGBA | 0x0000 | 指定 RGBA 颜色模式的窗口 |
GLUT_INDEX | 0x0001 | 指定颜色索引模式的窗口 |
GLUT_SINGLE | 0x0000 | 指定单缓存窗口 |
GLUT_DOUBLE | 0x0002 | 指定双缓存窗口 |
GLUT_ACCUM | 0x0004 | 窗口使用累加缓存 |
GLUT_ALPHA | 0x0008 | 窗口的颜色分量包含 alpha 值 |
GLUT_DEPTH | 0x0010 | 窗口使用深度缓存 |
GLUT_STENCIL | 0x0020 | 窗口使用模板缓存 |
GLUT_MULTISAMPLE | 0x0080 | 指定支持多样本功能的窗口 |
GLUT_STEREO | 0x0100 | 指定立体窗口 |
GLUT_LUMINANCE | 0x0200 | 窗口使用亮度颜色模型 |
函数功能:指定哪一个矩阵是当前矩阵,与glLoadIdentity()一同使用。
函数原型:void glMatrixMode(GL_MODELVIEW);
可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE
GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.
函数功能:重置当前指定的矩阵为单位矩阵。这样下次的矩阵操作就可以处理当前的矩阵。
函数原型:void glLoadIdentity();
函数功能:设置窗口的大小。
函数原型:glutInitWindowSize( WindowSizeX , WindowSizeY );
函数功能:设置窗口的名称。
函数原型:glutCreateWindow("colorcube");
函数功能:注册一个绘图的回调函数。
函数原型:glutDisplayFunc(display);
函数功能:注册一个窗口改变的回调函数。
函数原型:glutReshapeFunc(myReshape);
函数功能:注册一个鼠标点击时间的回调函数。
函数原型:glutMouseFunc(mouse);
函数功能:glutIdleFunc设置全局的回调函数,当没有窗口事件到达时,GLUT程序功能可以执行后台处理任务或连续动画。如果启用,
这个idle function会被不断调用,直到有窗口事件发生。回调函数没有参数。当前的窗口和菜单在执行idle func之前不会改变。当程序
以来多窗口或菜单是最好不要依赖于当前设定。
函数原型:glutIdleFunc(void (*func)(void));
函数功能: glutPostRedisplay 标记当前窗口需要重新绘制。通过glutMainLoop下一次循环时,窗口显示将被回调以重新显示窗口的
正常面板。多次调用glutPostRedisplay,在下一个显示回调只产生单一的重新显示回调。
函数原型:void glutPostRedisplay(void);
函数功能:在涉及到消隐等情况(可能遮挡),都要开启深度测试,glEnable(GL_DEPTH_TEST),硬件上打开了深度缓存区,当有新的同样
XY坐标的片断到来时,比较两者的深度,并且在初始化时打开深度,绘制每一帧前要gl_clear(gl-depth-bit)(这根clear_buffer_bit类似,
而且同样要设置clear_deppth_bitd 值,用glClearDepth(GLclampd depth),一般设为1,这将背景设为最深,这是默认的,通常不用写)
函数原型:glEnable(GL_DEPTH_TEST);
函数功能:glutMainLoop进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环。
函数原型:glutMainLoop();
函数功能:glutSwapBuffers函数是OpenGL中GLUT工具包中用于实现双缓冲技术的一个重要函数。
该函数的功能是交换两个缓冲区指针。
函数原型:glutSwapBuffers();