若要将屏幕外缓冲区的内容复制到屏幕上的缓冲区,请调用 SwapBuffers。 SwapBuffers 函数使用设备上下文的句柄。 指定设备上下文的当前像素格式必须包含后退缓冲区。 默认情况下,后台缓冲区处于屏幕外,前缓冲区处于屏幕上。
注意
SwapBuffers 函数并不真正交换两个缓冲区的内容,而是将一个缓冲区的内容复制到另一个缓冲区。 调用 SwapBuffers后,未定义屏幕外缓冲区的内容。 因此,未定义对 swapBuffers 的两次连续调用的结果。
下图显示了调用 SwapBuffers时如何复制缓冲区的内容。
多个 OpenGL 核心函数还管理缓冲区。 glDrawBuffer 函数是与双缓冲最相关的函数;它指定 OpenGL 绘制到的帧缓冲区或缓冲区。
以下函数还影响缓冲区:
- glReadBuffer
- glReadPixels
- glCopyPixels
- glAccum
- glColorMask
- glDepthMask
- glIndexMask
- glStencilMask
- glClearAccum
- glClearColor
- glClearDepth
- glClearIndex
- glClearStencil