两者之间有区别吗,因为它们似乎都具有相同的效果,我的假设是,un-map缓冲区方法针对un映射更优化,而不是将缓冲区绑定到0到un-map

最佳答案

两者之间似乎有相同的效果,两者之间有区别吗?


它们之间不仅有一些区别,而且它们做的事情完全不同。


glBindBuffer取消/选择以下OpenGL操作所引用的缓冲区对象。
glUnmapBuffer是glMapBuffer的补充。 glMapBuffer将缓冲区映射到主机地址空间,即在映射缓冲区后,其内容可通过指针访问。 glUnmapBuffer释放此映射,即缓冲区内容从主机进程地址空间中消失。


因为两个功能都是正交的,所以绑定状态对地址空间映射没有影响,并且地址空间映射对绑定状态没有影响。

10-04 14:47