您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于OPENGL绘制菱形
基于OPENGL绘制菱形#includeGL/glut.h#includemath.h#includestdlib.hvoidinit(void){glClearColor(1.0,1.0,1.0,0.0);glMatrixMode(GL_PROJECTION);gluOrtho2D(-5.0,5.0,-5.0,5.0);//设置显示的范围是X:-5.0~5.0,Y:-5.0~5.0glMatrixMode(GL_MODELVIEW);}voiddrawDiamond(void)//绘制中心在原点的菱形{glBegin(GL_POLYGON);//顶点指定需要按逆时针方向glVertex2f(0.0f,-1.0f);//下点glVertex2f(2.0f,0.0f);//右点glVertex2f(0.0f,1.0f);//上点glVertex2f(-2.0f,0.0f);//左点glEnd();}voidmyDraw(void){glClear(GL_COLOR_BUFFER_BIT);//清空glLoadIdentity();//将当前矩阵设为单位矩阵glColor3f(1.0,0.0,0.0);glTranslatef(0.0,2.0,0.0);glPushMatrix();glRotatef(90.0,0.0,0.0,1.0);//逆时针旋转90角度drawDiamond();glPopMatrix();glPushMatrix();glTranslatef(-sqrt(3.0),-3.0,0.0);glRotatef(30.0,0.0,0.0,1.0);glColor3f(0.0,1.0,0.0);drawDiamond();glPopMatrix();//从堆栈栈顶弹出一个矩阵为当前矩阵glTranslatef(sqrt(3.0),-3.0,0.0);glRotatef(-30.0,0.0,0.0,1.0);glColor3f(0.0,0.0,1.0);drawDiamond();glFlush();}voidmain(intargc,char**argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowPosition(0,0);glutInitWindowSize(600,600);glutCreateWindow(绘制菱形);init();glutDisplayFunc(myDraw);glutMainLoop();}
本文标题:基于OPENGL绘制菱形
链接地址:https://www.777doc.com/doc-6126672 .html