OpenGL中的glutInitDisplayMode()
函数的作用主要是在创建窗口的时候,指定其显示模式的类型。
函数原型为:voidglutInitDisplayMode(unsigned int mode);
mode参数是一个GLUT库里预定义的可能的布尔组合。你使用mode去指定颜色模式,数量和缓冲区类型。
其中大部分情况下使用的参数为:
GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL
颜色模式:GLUT_RGBA表示颜色模式,另外还有GLUT_RGB 和 GLUT_INDEX模式。
其中GLUT_RGBA为默认的颜色模式。
缓冲区类型:GLUT_DOUBLE表示使用双缓冲窗口,与之对应的是GLUT_SINGLE模式,二者的区别是:
- 单缓冲,实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,屏幕会发生闪烁。一般只用于显示单独的一副非动态的图像。
- 双缓冲,实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。一般用于生成动画效果。
一般用OpenGL绘图使用双缓冲模式。
其它的缓冲模式还有很多例如:
GLUT_ACCUM;GLUT_ALPHA;GLUT_DEPTH;GLUT_STENCIL;GLUT_MULTISAMPLE;GLUT_STEREO;GLUT_LUMINANCE。
其表示对应的宏以及含义如下:
关于其中的具体区别,还需要以后的深入学习和理解。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。