OpenGL中的预留内存

时间:2017-06-28 12:53:29

标签: opengl opengl-es computer-vision

我们是否有任何方法可以为OpenGL中的GL_ELEMENT_ARRAY_BUFFER保留内存,例如在Cuda中std :: vector或thrust :: device_vector的.reserved(int)?

说,我在frame1上有200个三角形(600个索引),但在frame2上有250个全新的三角形(750个索引)。如何在开始时保留一次并在每一帧上更新它?

1 个答案:

答案 0 :(得分:0)

一旦你分配了一个缓冲区对象并进行了glBufferData()调用,就会分配回来的内存。您可以将空数据指针传递到第一个glBufferData()调用,以创建一个没有数据上载的仅分配缓冲区。

您可以使用glBufferSubData()修补现有缓冲区而无需重新分配,但只需确保不尝试修补现有绘制调用中仍引用的缓冲区。见......

https://community.arm.com/graphics/b/blog/posts/mali-performance-6-efficiently-updating-dynamic-resources

了解更多详情。

相关问题