假设我将vbo ID存储在一个int中,并且我想调整该缓冲区的大小;我该怎么办?
第一种选择:绑定(bind)缓冲区后使用glbufferdata函数。
第二选择:。使用gldeletebuffers,然后重新生成缓冲区,并在绑定(bind)缓冲区后使用glbufferdata函数。

所以我的问题是glbufferdata是自己自行分配缓冲区还是没有?

最佳答案

只需调用glBufferData即可。不需要glDeleteBuffers / glGenBuffers调用。

这样考虑:glBufferData创建一个新的缓冲区。 glGenBuffers函数为bufffer创建一个新名称(整数)。

您不需要自己重新分配缓冲区…并不是OpenGL提供了一种方法。只要您不持有对OpenGL的引用,您的OpenGL实现就会在使用完缓冲区中的数据后为您执行此操作。

关于c++ - 在OpenGL中使用glbufferdata,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46738197/

10-09 13:41