Я сделал причудливую форму с OpenGL, и я рисую эту форму этой функцией:
drawShape(const Point & center, char radius, int points, int rotation)
Внутри функции у меня есть код, который сообщает OpenGL, где вершины:
glBegin(GL_LINE_LOOP);
glColor3f(1.0, 1.0, 1.0);
glVertex2f(center.getX() + 0.0, center.getY() + 1.0);
// more vertices
glEnd();
Теперь, когда я добавляю glRotatef(rotation, 0.0, 0.0, 1.0)
, мне бы хотелось, чтобы эта фигура, которую я нарисовал, вращалась на экране.Однако, если я добавлю его выше glBegin()
, он вращает все в окне.Если я включу весь код между glPushMatrix()
и glPopMatrix()
, объект будет вращаться, но вокруг центра окна.Как я могу повернуть только нарисованный объект?