我正在使用 iPhone OpenGLES 实现,我希望在一个简单的表面(两个三角形组成一个矩形)上无休止地滚动纹理。这应该很简单,但这不是我以前做过的事情,而且我一定遗漏了一些东西。我可以很好地旋转纹理,但翻译根本不起作用。我有一个小的实现问题还是我做的事情根本上是错误的?
// 移动纹理 glMatrixMode(GL_TEXTURE); glPushMatrix(); glLoadIdentity(); // 增加偏移量 - 出于演示目的不重置 wallOffset += 1.0; // 移动纹理 - 这不起作用 glTranslatef(wallOffset,wallOffset,0.0); // 旋转纹理 - 这确实有效 //glRotatef(wallOffset, 1.0, 0.0, 0.0); glMatrixMode(GL_MODELVIEW); glBindTexture(GL_TEXTURE_2D, WallTexture.name); glTexCoordPointer(2, GL_FLOAT, 0, 坐标); // 简单的绘图代码 glNormalPointer(GL_FLOAT, 0, 法线); glVertexPointer(3, GL_FLOAT, 0, 顶点); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // 推回矩阵 glMatrixMode(GL_TEXTURE); glPopMatrix(); glMatrixMode(GL_MODELVIEW);