Я работаю в 2D, и я пытаюсь повернуть весь мир (включая объект) вокруг одного объекта, а также сохранить этот объект в центре экрана.OpenGL вращать объект, сохраняя его в центре экрана
Вот мой текущий код, чтобы преобразовать мир, все рендеринг выполняется после:
аппаратные и чч являются половиной ширины и высоты экрана. p - координаты объекта.
float hw = 400;
float hh = 300;
float x = hw - p.x;
float y = hh - p.y;
glTranslatef(x, y, 0);
glTranslatef(-hw, -hh, 0);
glRotatef(level->angle, 0, 0, 1);
glTranslatef(hw, hh, 0);
Однако, он не работает должным образом. Любая помощь будет оценена.
Если вы хотите повернуть только часть своей сцены, нажмите на матричный стек, отрисуйте эту часть и поместите стек? Возможно, вы захотите показать код реального кода. – pmr
Возможно, мне было не ясно, я хочу повернуть все, включая объект вокруг центра объекта, удерживая его в центре экрана. Я могу получить его в центре экрана, но тогда я не могу заставить его оставаться в том месте, когда я вращаюсь. –