Я пытаюсь повернуть изображение вокруг его центра. вот код:Невозможно повернуть свое изображение вокруг его центра в openGL
glPushMatrix();
glTranslatef(-x, -y, 0);
glRotatef(10, 0, 0, 1);
glTranslatef(x, y, 0);
glBindTexture(GL_TEXTURE_2D, img);
glBegin(GL_QUADS);
glTexCoord2i(0, 0);
glVertex2i(x, y);
glTexCoord2i(1, 0);
glVertex2i(x+width, y);
glTexCoord2i(1, 1);
glVertex2i(x+width, y+height);
glTexCoord2i(0, 1);
glVertex2i(x, y + height);
glEnd();
glPopMatrix();
Я читаю везде, чтобы перевести мое изображение в центр вращения затем поверните и перевести его обратно. Но когда я пытался сделать это шаг за шагом, я узнал, что когда я переводил, а затем вращал его, он перемещал центр вращения вместе с изображением, поэтому он вращается вокруг точки, которая находится вне экрана на том же расстоянии от изображения, что и исходное точка поворота от исходного изображения до перевода. Может ли кто-нибудь сказать мне, почему это происходит или как это исправить?
Я думаю, вы должны перевести в центр, а не верхний левый угол в точке (0,0). –