Я пытаюсь динамически удалить VBO в моем приложении, чтобы создать новые VBO разных размеров.Тем не менее, когда моя программа пытается удалить их, она падает с ошибкой сегментации.
Ниже мой код, который выделяет VBO:
glGenBuffersARB(1, &_vertexBufferID);
glBindBufferARB(GL_ARRAY_BUFFER, _vertexBufferID);
glBufferDataARB(GL_ARRAY_BUFFER,
_pMetadata->vertexBufferSize(),
NULL,
GL_STATIC_DRAW)
Данные периодически добавляются в VBO в следующихкод:
glBindBufferARB(GL_ARRAY_BUFFER, _vertexBufferID);
glBufferSubDataARB(GL_ARRAY_BUFFER,
_pMetadata->vertexSubBufferOffset(),
_pMetadata->vertexSubBufferSize(),
&row[0]); // row is a vector<float>
И в другом месте кода я пытаюсь удалить VBO следующим образом:
glDeleteBuffersARB(1, &_vertexBufferID)
И именно на этой строке я получаю ошибку сегментации.Я гарантировал, что правильный контекст OpenGL активен во время удаления.