何时清除顶点缓冲区对象

Hullu2000

我只是在想:什么时候(也许怎么)从VBO清除数据。您是否必须始终在重写数据之前清除它?为什么要清除它?

第三十二上校

清除缓冲区(即将每个字节设置为0)不是太有用。使缓冲区无效

使缓冲区的某个部分无效意味着该部分的内容变为无效,并且必须在使用该部分之前将新内容写入该部分。通过为您提供一个完全“新的”要写入的缓冲区(以相同的名称),这使得OpenGL实现可以避免等待缓冲区对象不再用于向其上载数据之前。此技术称为缓冲区孤立

要使缓冲区无效,您可以使用glBufferData相同的大小和使用提示进行调用,但可以使用NULL数据指针,glMapBufferRange与一起使用GL_MAP_INVALIDATE_BUFFER_BIT,或者glInvalidateBufferData如果您的GPU支持它。

OpenGL的维基文章缓冲区对象流覆盖得更详细,并且还提供了其他几种解决方案。

要直接回答您的问题,不需要在更新缓冲区之前使它无效或清除它。您可以glBufferSubData在需要更新任何内容时致电但是,这样做会导致管道停顿,因为OpenGL在安全更新缓冲区之前等待缓冲区使用完毕。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python中的Memset(),清除缓冲区

来自分类Dev

何时使用数组,缓冲区或直接缓冲区

来自分类Dev

为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

来自分类Dev

顶点数组对象和缓冲区对象之间的区别?

来自分类Dev

清除键盘缓冲区

来自分类Dev

OpenGL复制顶点缓冲区对象

来自分类Dev

同一顶点缓冲区对象中有多个网格?

来自分类Dev

动态顶点缓冲区创建失败

来自分类Dev

使用顶点缓冲区对象的最低OpenGL ES版本

来自分类Dev

使用单个顶点缓冲区还是多个顶点缓冲区?

来自分类Dev

更改顶点缓冲区对象中的顶点颜色

来自分类Dev

如何清除ReplaySubject上的缓冲区?

来自分类Dev

缓冲区何时刷新

来自分类Dev

将多个缓冲区对象与单个顶点数组对象绑定不起作用

来自分类Dev

清除cout缓冲区(C ++)

来自分类Dev

强制在scanf中清除缓冲区

来自分类Dev

Vulkan-顶点缓冲区更新

来自分类Dev

清除MIDI输出缓冲区

来自分类Dev

通过pyopengl OpenGL.arrays.vbo更改OpenGL顶点缓冲区对象数据无效

来自分类Dev

Python中的Memset(),清除缓冲区

来自分类Dev

JOGL中具有顶点缓冲区对象的问题

来自分类Dev

动态打包OpenGL顶点缓冲区对象的数据

来自分类Dev

为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

来自分类Dev

Python:清除标准输入缓冲区

来自分类Dev

何时清除顶点缓冲区对象

来自分类Dev

使用单个顶点缓冲区还是多个顶点缓冲区?

来自分类Dev

在DirectX11中为动态和静态对象使用单独的顶点缓冲区

来自分类Dev

OpenGL绘制顶点缓冲区对象

来自分类Dev

合并顶点缓冲区

Related 相关文章

热门标签

归档