我开始使用来自旧opengl的opengles。 我看到没有立即模式了。所以像glVertex glTexCoord这样的函数丢失了,对吧?
相反,我必须使用vertexarrays。正确?
我怎样才能每帧修改那些数组的值?
例如,如果我想设置纹理坐标的动画,在旧的OpenGL中我做了:
glTexCoord2f(x*time, y*time);
如何使用顶点数组实现类似的效果?
谢谢!
答案 0 :(得分:3)
只需更新传递给gl * Pointer的数组,然后重新绘制。
如果您使用VBO,您还需要更新VBO内容。
答案 1 :(得分:2)
如果您只想滚动纹理,可以通过管道直接修改纹理坐标。
glMatrixMode( GL_TEXTURE );
glLoadIdentity();
glTranslatef(...);
glMatrixMode(...);
一般情况下,实际texcoord数据应该真正改变的情况(因为你想对它们应用非均匀转换)很少见。