【发布时间】:2014-08-24 20:58:31
【问题描述】:
以上两者之间是否有区别,因为它们似乎都具有相同的效果,我的假设是 un-map 缓冲区方法更适合于 un-map,而不是将缓冲区绑定到 0 到 un-map
【问题讨论】:
以上两者之间是否有区别,因为它们似乎都具有相同的效果,我的假设是 un-map 缓冲区方法更适合于 un-map,而不是将缓冲区绑定到 0 到 un-map
【问题讨论】:
上面的有没有区别,因为它们看起来都具有相同的效果,
它们之间不仅有一些区别,它们做的事情也完全不同。
glBindBuffer 取消/选择以下 OpenGL 操作引用的缓冲区对象。
glUnmapBuffer 是 glMapBuffer 的补充。 glMapBuffer 将缓冲区映射到主机地址空间,即在映射缓冲区之后,可以通过指针访问其内容。 glUnmapBuffer 释放此映射,即缓冲区内容从主机进程地址空间中消失。
因为这两个功能都是正交的,所以绑定状态对地址空间映射没有影响,而地址空间映射对绑定状态也没有影响。
【讨论】:
不,它们没有相同的效果。绑定缓冲区 0 只是将缓冲区与某个绑定目标解除绑定,它不会解除映射。缓冲区映射仍然有效,可以使用。您还可以同时映射多个缓冲区。 glUnmapBuffer() 只是取消映射当前绑定到目标点的缓冲区。
【讨论】: