OpenGLes的新手,几个问题

时间:2010-08-19 15:35:46

标签: opengl-es

我开始使用来自旧opengl的opengles。 我看到没有立即模式了。所以像glVertex glTexCoord这样的函数丢失了,对吧?

相反,我必须使用vertexarrays。正确?

我怎样才能每帧修改那些数组的值?

例如,如果我想设置纹理坐标的动画,在旧的OpenGL中我做了:

  glTexCoord2f(x*time, y*time);

如何使用顶点数组实现类似的效果?

谢谢!

2 个答案:

答案 0 :(得分:3)

只需更新传递给gl * Pointer的数组,然后重新绘制。

如果您使用VBO,您还需要更新VBO内容。

答案 1 :(得分:2)

如果您只想滚动纹理,可以通过管道直接修改纹理坐标。

glMatrixMode( GL_TEXTURE );
glLoadIdentity();
glTranslatef(...);
glMatrixMode(...);

一般情况下,实际texcoord数据应该真正改变的情况(因为你想对它们应用非均匀转换)很少见。