Я работаю в 2D и пытаюсь вращать весь мир (включая объект) вокруг одного объекта, а также держать этот один объект в центре экрана.
Вот мой текущий код для преобразования мира, весь рендеринг выполняется потом:
hw и hh - половина ширины и высоты экрана. 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);
Однако, это не работает, как ожидалось. Любая помощь будет оценена.