glUnmapBuffer(GL_ARRAY_BUFFER) vs glBindBuffer(GL_ARRAY_BUFF
glUnmapBuffer(GL_ARRAY_BUFFER) vs glBindBuffer(GL_ARRAY_BUFFER,0)
上述两者之间是否存在差异,因为它们似乎都具有相同的效果,我的假设是unmap缓冲区方法更适合于unmapping,而不是将缓冲区绑定到0以取消映射
这两者之间有什么区别吗?因为它们看起来都有相同的效果,
它们之间不仅有一些不同,它们做的事情完全不同。
-
glBindBuffer un-/选择下面OpenGL操作引用的缓冲对象
-
glUnmapBuffer是glMapBuffer的补充。glMapBuffer将缓冲区映射到主机地址空间,也就是说,在映射缓冲区之后,它的内容可以通过指针访问。glUnmapBuffer释放这个映射,即缓冲区的内容从主机进程地址空间中消失。
由于两个功能是正交的,绑定状态对地址空间映射没有影响,而地址空间映射对绑定状态没有影响。
不,它们没有相同的效果。绑定缓冲区0只是从某个绑定目标上解除缓冲区的绑定,它没有解除它的映射。缓冲区映射仍然有效,可以使用。您还可以同时映射多个缓冲区。glUnmapBuffer()
只是解除当前绑定到目标点的缓冲区的映射。
相关文章:
- C++11 中不同类型的对象的 std::array 的替代方案
- constexpr begin of a std::array
- C++如果必须在编译时确定大小,std::array 有什么意义?
- OpenGL VBO Indexing ( How to compute Index Array)
- 标准::unordered_map 中的 std::array 的值初始化
- "Warning: Comma within array index expression"但逗号分隔函数参数
- 确保编译时的特定 std::array 位置
- std::array的长度有大小限制吗?
- 将 std::array 移动到另一个 std::array
- 首先按给定顺序打印所有数字,然后使用 Array 打印所有字符和其他符号
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 将 **float array 从 C++ Dll 传递给 python
- std::bind on statd::array 的运算符 []
- Visual Studio 19-17 库兼容性根据 GL 标志
- 检查输入 std::array 指针数据是否等于某个常量数组
- 我可以安全地复制矢量<array>吗?
- 解析问题 - 预期的非限定 ID - #include <array> 编译错误
- 如何读/写或遍历 std::array 中的特定元素范围?
- 通过 host() 从 af::array 检索数据会导致错误的数据
- 是否可以使用 std::array 作为 POD 结构的数据容器?