OpenGL中的glutInitDisplayMode()函数的理解

移动开发 waitig 437℃ 百度已收录 0评论

OpenGL中的glutInitDisplayMode()函数的作用主要是在创建窗口的时候,指定其显示模式的类型。

函数原型为:void glutInitDisplayMode(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。其表示对应的宏以及含义如下:


关于其中的具体区别,还需要以后的深入学习和理解。



本文由【waitig】发表在等英博客
本文固定链接:OpenGL中的glutInitDisplayMode()函数的理解
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)