我在 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);
...这会用我的新数据覆盖旧缓冲区吗?还是我也必须删除旧的?有没有更好的办法?