OpenGL什么时候将对象渲染到帧缓冲区?渲染是在渲染管道完成后进行的还是在渲染管道中进行的(如果是,它在管道中的哪个阶段进行渲染)。我最近问了几个人,但得到了不同的答案,所以我不确定。
wsewodh21#
“渲染管道”是OpenGL渲染器中不同阶段的名称。可以将其视为工厂中的装配线。每一段数据都要经过渲染管道中的多个步骤,并可能与其他数据组合在一起。当所有数据都处理完毕时,渲染就完成了。如果没有完整的渲染管道,您甚至无法开始渲染。“OpenGL何时写入帧缓冲区?”是一个有趣的问题。通常,当你发出glDrawElements()这样的绘制命令时,这个命令会被存储在命令缓冲区中,并在稍后的时间点进行处理。如果你只是单独调用glDrawElements(),你不会知道渲染何时发生,但有办法可以找到。
glDrawElements()
glFinish
1条答案
按热度按时间wsewodh21#
“渲染管道”是OpenGL渲染器中不同阶段的名称。可以将其视为工厂中的装配线。每一段数据都要经过渲染管道中的多个步骤,并可能与其他数据组合在一起。当所有数据都处理完毕时,渲染就完成了。
如果没有完整的渲染管道,您甚至无法开始渲染。
“OpenGL何时写入帧缓冲区?”是一个有趣的问题。通常,当你发出
glDrawElements()
这样的绘制命令时,这个命令会被存储在命令缓冲区中,并在稍后的时间点进行处理。如果你只是单独调用glDrawElements()
,你不会知道渲染何时发生,但有办法可以找到。glFinish
,它会一直等到渲染完成。参见glFinish。