在OpenGL中修改缓冲区

时间:2012-12-25 23:45:33

标签: performance opengl buffer vbo

我有一个可修改的地形,存储在顶点缓冲区中。由于它有大量的顶点,我不想每次修改地形时再次上传所有顶点。我现在所做的是将地形分成更小的块,这样我只需要重新创建包含地形修改的区域的缓冲区。

但是,如何添加或删除现有缓冲区的某些顶点?

2 个答案:

答案 0 :(得分:2)

您可以使用glBufferSubData作为datenwolf说,或者如果您计划进行大量修改并随机访问数据,您可能希望使用glMapBuffer将缓冲区映射到客户端内存中稍后使用glUnmapBuffer.取消映射(然后,根据您选择的访问说明符,您可以将数据编辑为C数组)

答案 1 :(得分:0)

您可以使用glBufferSubData

更改现有缓冲区中的数据