所谓双缓冲技术,是指两个缓冲区:前台缓冲和后台缓冲。前台缓冲即我们看到的屏幕,
后台缓冲则在内存当中,对我们来说是不可见的。每次我们绘图都在后台缓冲中进行的,
当绘图完成时,就必须把绘制的最终结果复制到屏幕上。在opengl中glutSwapBuffers函数就
可以实现双缓冲技术的一个重要函数。该函数的作用就是交换两个缓冲区的指针,从而把绘制
结果图复制到屏幕上,从而使用户可见。否则在后台缓冲中,使得绘图结果不可见。
那么在程序中怎么使用双缓冲呢?
一般在main函数中开启双缓冲,主要是调用glutInitDisplayMode函数,该函数的功能是设
置初始显示模式。函数原型:void glutInitDisplayMode(unsigned int mode);里面的
mode可以取一下值或其组合:
其中里面就有一个双缓存窗口。
开启双缓冲之后就要用函数glutSwapBuffers()函数来交换两个缓冲区
指针。此函数一般用于绘制操作完成后。在main函数中用glutDisplayFunc
函数注册一个绘图函数就可以调用绘图函数,从而就可以调用双缓冲交换函数。