【发布时间】:2015-03-18 13:06:34
【问题描述】:
当我渲染一个立方体时,它看起来像这样:
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glVertexAttribPointer(vertexPositionAttribute, 3, GL_FLOAT, false, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, textureCoordsBuffer);
glVertexAttribPointer(textureCoordsAttribute, 2, GL_FLOAT, false, 0, 0);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textureId);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexBuffer);
glDrawElements(GL_TRIANGLES, indexCount, GL_UNSIGNED_SHORT, 0);
我只想更改纹理坐标,而不是更改顶点或索引。 我的问题是我是否必须重新发送顶点数据和索引数据才能再次渲染这个立方体,或者我可以只发送新的纹理坐标吗?如果我可以发送新的纹理坐标,我需要做什么 OpenGL 调用?
【问题讨论】:
标签: c++ opengl opengl-es opengl-es-2.0