Я устанавливаю буфер вершин в OpenGL, например:
int vboVertexHandle = glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vboVertexHandle);
glBufferData(GL_ARRAY_BUFFER, vertexData, GL_DYNAMIC_DRAW);
Позже, если я хочу добавить или удалить вершины в "vertexData", каков правильный способ сделать это? Возможно ли это? Я предполагаю, что не могу просто изменить массив напрямую, не пересылая его на GPU.
Если я изменяю массив vertexData, тогда вызывайте это снова:
glBindBuffer(GL_ARRAY_BUFFER, vboVertexHandle);
glBufferData(GL_ARRAY_BUFFER, vertexData, GL_DYNAMIC_DRAW);
... будет ли перезаписывать старый буфер моими новыми данными? Или мне также нужно удалить старый? Есть ли лучший способ?