这是一个关于OpenGL中同步的问题。问题是:
在以下(伪)代码示例中的哪一点发生同步。
// 1.
try to map buffer object (write only and invalidate buffer)
copy new data to mapped buffer
unmap buffer
// 2.
bind buffer
call subteximage to fill texture from buffer
unbind buffer
// 3.
render with texture
据我所知,只要“使用对象”就会发生同步。现在,如果从缓冲区填充纹理或者在渲染中使用纹理,是否使用纹理是值得怀疑的。
如果glSubTexImage没有阻止,通常可以通过在纹理更新调用中使用缓冲区更新来传输纹理数据。
弗洛里安
答案 0 :(得分:1)
使用纹理(或帧缓冲区交换)渲染后,您的代码可以阻止复制和glFlush之间的任何位置。这取决于实施。