glutSwapBuffers 到底做了什么?

问题描述 投票:0回答:2

前缓冲区指针现在是否指向后缓冲区?或者前缓冲区的内容被后缓冲区的内容更新了?如果是这种情况,是更新整块内容还是只更新更改的内容?

opengl.org 上对

glutSwapBuffers
的描述是

对当前窗口使用的图层执行缓冲区交换。具体来说,

glutSwapBuffers
将当前窗口使用的图层的后台缓冲区的内容提升为前台缓冲区的内容。后台缓冲区的内容将变为未定义。

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

c++ opengl glut
2个回答
6
投票

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

最后一句是什么意思?

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


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.