#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(); //gluPerspective(45.0, float(w) / h, 0.1, 100.0); 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);//x 方向放大 2 倍 glutWireTeapot(1);//正方形颜色 glColor3f(1.0,1.0,0.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);//x 方向放大 2 倍 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(); }
时间: 2023-11-16 09:07:57 浏览: 109
stdafx.h头文件探秘
5星 · 资源好评率100%
这是一段 C++ 代码,使用了 OpenGL 库来绘制一个简单的 3D 立方体。代码中包含了初始化、窗口大小调整、绘制场景等函数。其中,glutInit() 函数用于初始化 GLUT 库,glutInitDisplayMode() 函数用于设置显示模式,glutInitWindowSize() 和 glutInitWindowPosition() 函数用于设置窗口大小和位置,glutCreateWindow() 函数用于创建窗口,glutReshapeFunc() 函数用于设置窗口大小调整回调函数,glutDisplayFunc() 函数用于设置绘制回调函数,glutMainLoop() 函数用于进入 GLUT 事件处理循环。在 display() 函数中,glClear() 函数用于清空颜色缓冲区,glColor3f() 函数用于设置颜色,glLoadIdentity() 函数用于将当前矩阵重置为单位矩阵,gluLookAt() 函数用于设置视角,glScalef() 函数用于对物体进行缩放,glutWireTeapot() 和 glutSolidCube() 函数用于绘制物体。
阅读全文