假设我将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/