把长方体线框改为长方体,每一面为粉色,调整视角斜前方45度
时间: 2024-03-17 07:40:18 浏览: 202
通过画多边形方式绘制长方体的线框图
好的,以下是使用OpenGL画一个长方体,每一面为粉色,调整视角斜前方45度的代码:
```c++
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// 设置视角
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60, 1, 1, 1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(5, 5, 5, 0, 0, 0, 0, 1, 0); // 调整视角斜前方45度
// 绘制长方体
glColor3f(1.0f, 0.75f, 0.8f); // 设置颜色为粉色
glBegin(GL_QUADS);
// 绘制前面
glVertex3f(-1, -1, 1);
glVertex3f(-1, 1, 1);
glVertex3f(1, 1, 1);
glVertex3f(1, -1, 1);
// 绘制后面
glVertex3f(-1, -1, -1);
glVertex3f(-1, 1, -1);
glVertex3f(1, 1, -1);
glVertex3f(1, -1, -1);
// 绘制左面
glVertex3f(-1, -1, 1);
glVertex3f(-1, 1, 1);
glVertex3f(-1, 1, -1);
glVertex3f(-1, -1, -1);
// 绘制右面
glVertex3f(1, -1, 1);
glVertex3f(1, 1, 1);
glVertex3f(1, 1, -1);
glVertex3f(1, -1, -1);
// 绘制上面
glVertex3f(1, 1, 1);
glVertex3f(-1, 1, 1);
glVertex3f(-1, 1, -1);
glVertex3f(1, 1, -1);
// 绘制下面
glVertex3f(1, -1, 1);
glVertex3f(-1, -1, 1);
glVertex3f(-1, -1, -1);
glVertex3f(1, -1, -1);
glEnd();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(600, 600);
glutCreateWindow("OpenGL");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用了OpenGL库,需要在编译时链接OpenGL库,例如:
```
g++ main.cpp -o main -lGL -lGLU -lglut
```
阅读全文