opengl中的双缓冲技术

      所谓双缓冲技术,是指两个缓冲区:前台缓冲和后台缓冲。前台缓冲即我们看到的屏幕,

后台缓冲则在内存当中,对我们来说是不可见的。每次我们绘图都在后台缓冲中进行的,

当绘图完成时,就必须把绘制的最终结果复制到屏幕上。在opengl中glutSwapBuffers函数就

可以实现双缓冲技术的一个重要函数。该函数的作用就是交换两个缓冲区的指针,从而把绘制

结果图复制到屏幕上,从而使用户可见。否则在后台缓冲中,使得绘图结果不可见。

那么在程序中怎么使用双缓冲呢?

       一般在main函数中开启双缓冲,主要是调用glutInitDisplayMode函数,该函数的功能是设

置初始显示模式。函数原型:void glutInitDisplayMode(unsigned int mode);里面的

mode可以取一下值或其组合:


其中里面就有一个双缓存窗口。

开启双缓冲之后就要用函数glutSwapBuffers()函数来交换两个缓冲区

指针。此函数一般用于绘制操作完成后。在main函数中用glutDisplayFunc

函数注册一个绘图函数就可以调用绘图函数,从而就可以调用双缓冲交换函数。

展开阅读全文

没有更多推荐了,返回首页