OpenGL中的glRectf()
函数用于绘制一个填充的矩形。然而,glRectf()
本身并不支持旋转。要实现矩形的旋转,你需要使用一系列的变换操作,包括旋转、平移和缩放。
glRectf()
不能直接旋转?glRectf()
函数本身不支持旋转,因为它只是一个简单的矩形绘制函数,没有内置的旋转功能。
要实现矩形的旋转,可以使用以下步骤:
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// 平移到旋转中心
glTranslatef(0.0f, 0.0f, 0.0f);
// 旋转45度
glRotatef(45.0f, 0.0f, 0.0f, 1.0f);
// 绘制矩形
glColor3f(1.0f, 0.0f, 0.0f); // 红色
glRectf(-50.0f, -50.0f, 50.0f, 50.0f);
glutSwapBuffers();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutCreateWindow("OpenGL Rotation");
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gluOrtho2D(-200, 200, -200, 200);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
通过上述步骤和示例代码,你可以实现矩形的旋转效果。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云