OpenGL中实现双缓冲技术的三种方法是这样的
1.调用glutDisplayFunc(display)回调函数时, 在回调函数中所有绘制操作完成后调用glutSwapBuffers()交换两个缓冲区指针。
2.这种方法是大家经常用的吧glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);GLUT_DOUBLE,使用双缓冲而不是单缓冲。
3.调用glutIdleFunc注册一个空闲时绘制操作函数, 注册的这个函数再调用display函数。
那么我们为什么要使用双缓冲技术呢?
一个词解释原因的话就是解决屏幕的频繁刷新造成的画面闪烁问题。具体来说是这样的。双缓冲技术:包括前台缓冲(也就是屏幕)和后台缓冲(内存)绘图操作现在内存中(也就是后台缓冲中)绘好。然后再将结果复制到屏幕上。这样就不会造成画面的闪烁。
(以上文章参考文献:OpenGL红宝书和百度大神mayadong7349,感谢上述作者的奉献精神!)