基于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();}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功