opengl-es - 如何更改opengles中glDrawArrays方法中使用的顶点缓冲区的内容

标签 opengl-es 3d

我有一些三角形多边形并以传统方式绘制它们:
(android-java代码)

gl.glDrawArrays(GL10.GL_TRIANGLES, i, j);

我想更新三角形的顶点坐标。我发现的所有教程都使用初始顶点数据,然后只对它们应用转换。我需要独立更改每个顶点坐标。

我更改了用于创建相关顶点缓冲区的数组的内容,但它不会在屏幕上进行任何更改。我猜在每一帧上重建顶点缓冲区似乎不是正确的方式。

如果您知道的话,您至少可以指出任何示例源代码吗?

最佳答案

您似乎在寻找 glBufferSubData .基本上,正如您所描述的那样更新数组的内容,然后调用 glBufferSubData用新值更新顶点缓冲区对象。

这假设您只修改数据的一个相对较小的子集。如果您要修改大部分数据,通常最好调用 glBufferData再次相反。

关于opengl-es - 如何更改opengles中glDrawArrays方法中使用的顶点缓冲区的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5849566/

相关文章:

iphone - 我应该为 OpenGL ES 中的纹理坐标使用什么数据类型?

python - 我该如何处理基本矩阵?

opengl - 将偏航、俯仰和滚动转换为世界坐标中的 x、y、z 向量

c++ - 一个顶点缓冲区中有多个网格?

java - OpenGL ES : Drawing using a Texture Atlas

opengl-es - 在半渲染的正交场景之上将 OpenGL 切换到透视模式?

android - 移动设备(平板电脑)的可视化工具

android - 每个顶点超过 1 个法线

c++ - 关于 Windows 上 OpenGL 中多重缓冲的几个问题

圆柱轴上的 Matlab 3D 图