什么glutswapbuffers实际上做了什么?

时间:2012-06-13 10:15:27

标签: c++ opengl glut

前缓冲区指针现在是否指向后台缓冲区?或前台缓冲区内容是否由后台缓冲区更新?如果是这种情况,则更新内容的整个块或仅更改内容更新?

opengl.org上glutswapbuffers的描述是

  

在当前窗口使用的图层上执行缓冲区交换。具体地说,glutSwapBuffers在使用当前窗口时提升层的后缓冲区的内容,以成为前缓冲区的内容。然后后台缓冲区的内容变得不确定。

最后一句话是什么意思?后台缓冲区现在指向空?

2 个答案:

答案 0 :(得分:5)

  
    

然后,后台缓冲区的内容将变为未定义。

  
     

最后一句是什么意思?

这确实意味着,在交换后,后台缓冲区的内容可能就是一切。它可能是前台缓冲区,随机数据,你度假的照片,等等。 未定义,您不应对此做任何假设。

答案 1 :(得分:1)

这意味着,过剩的缓冲区变为前置后,过剩的那个缓冲区将会是有意义的,就像你认为它包含那些以前在“旧”前缓冲区中的信息一样。我想,它是这样做的,因为否则你需要第三个缓冲区以这种方式交换缓冲区,这在高性能3D中是不可接受的