【发布时间】:2012-03-27 00:59:16
【问题描述】:
我用 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() 之间的所有代码,则旋转对象,但围绕窗口中心。如何仅旋转我绘制的对象?
【问题讨论】:
标签: c++ opengl graphics rotation