我正在为我的 iphone 游戏使用 opengl ES。要缩放和旋转我的对象,我这样做: glScalef( scaleX , scaleY ,1); glRotatef(rotationZ, 0.0f, 0.0f, 1.0f)
我正在使用带有 orthof(-1,1,-1,1,-1,1) 的正交屏幕。我的问题是当我旋转对象时,图像会倾斜。我理解为什么会发生这种情况,因为我将 wrt 缩放到屏幕尺寸,所以在旋转它时会改变图像尺寸。我能做些什么来防止它被歪曲。
glViewport(0,0, (GLint)screenWidth, (GLint)screenHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(-1,1,-1,1,-1,1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glTranslatef(positionX, positionY,0.0f);
glScalef(scaleX , scaleY ,1);
glRotatef(rotationZ, 0.0f, 0.0f, 1.0f);