我設置了一個頂點緩衝OpenGL中,像這樣的:什麼是修改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);
... ...將是覆蓋舊的緩存與我的新的數據?或者我也必須刪除舊的?有沒有更好的辦法?
難道你不是故意在第一段末尾說「未初始化的數據」嗎? – Ancurio 2013-08-05 00:45:56
@Ancurio的確我是。感謝您的更正。 – radical7 2013-08-05 14:58:51