把上面代码的正方体改变颜色
时间: 2024-02-19 10:58:21 浏览: 22
要改变正方体的颜色,可以在绘制正方体前先设置颜色,例如将 glColor3f(1.0,1.0,0.0); 改为 glColor3f(0.0,1.0,1.0); ,即可将正方体颜色改为青色。完整代码如下:
```
#include "stdafx.h"
#include <stdio.h>
#include <glut.h>
void init(void) {
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
}
void myReshape(int w, int h) {
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0,1.0,-1.0,1.0,1.5,20.0);
glMatrixMode(GL_MODELVIEW);
}
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
// 绘制紫色茶壶
glColor3f(1.0,0.0,1.0);
glLoadIdentity();
gluLookAt(5.0,4.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
glScalef(2.0,2.0,2.0);
glutWireTeapot(1);
// 绘制青色正方体
glColor3f(0.0,1.0,1.0);
glLoadIdentity();
gluLookAt(5.0,4.0,5.0,2.0,2.0,0.0,0.0,1.0,0.0);
glScalef(2.5,2.5,2.5);
glutSolidCube(1);
glFlush();
}
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("3D Cube");
init();
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop();
}
```