我有兩個方法正在做同樣的事情。現在我想知道他們的區別是什麼,哪一個可以更快地執行。 這裏是方法: 1號方法OpenGL 2D移動關係
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(x, y);
glTexCoord2f(1, 0); glVertex2f(x+texWidth, y);
glTexCoord2f(1, 1); glVertex2f(x+texWidth, y+texHeight);
glTexCoord2f(0, 1); glVertex2f(x, y+texHeight);
glEnd();
x++; y++;
二路方法
glPushMatrix();
glTranslatef(x, y, 0);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0.0f, 0.0f);
glTexCoord2f(1, 0); glVertex2f(1.0f, 0.0f);
glTexCoord2f(1, 1); glVertex2f(1.0f, 1.0f);
glTexCoord2f(0, 1); glVertex2f(0.0f, 1.0f);
glEnd();
glPopMatrix();
x++; y++;
這兩種方法是不一樣的,你需要'glScalef(texWidth,texHeight,1.0f)'和'glTranslatef'。 –