我有一些三角形多边形并以传统方式绘制它们:
(android-java代码)
gl.glDrawArrays(GL10.GL_TRIANGLES, i, j);
我想更新三角形的顶点坐标。我发现的所有教程都使用初始顶点数据,然后只对它们应用转换。我需要独立更改每个顶点坐标。
我更改了用于创建相关顶点缓冲区的数组的内容,但它不会在屏幕上进行任何更改。我猜在每一帧上重建顶点缓冲区似乎不是正确的方式。
如果您知道的话,您至少可以指出任何示例源代码吗?
最佳答案
您似乎在寻找 glBufferSubData
.基本上,正如您所描述的那样更新数组的内容,然后调用 glBufferSubData
用新值更新顶点缓冲区对象。
这假设您只修改数据的一个相对较小的子集。如果您要修改大部分数据,通常最好调用 glBufferData
再次相反。
关于opengl-es - 如何更改opengles中glDrawArrays方法中使用的顶点缓冲区的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5849566/