OpenGL 编程环境设置及举例

OpenGL 编程环境设置及举例

ID:41032841

大小:29.50 KB

页数:4页

时间:2019-08-14

OpenGL 编程环境设置及举例_第1页
OpenGL 编程环境设置及举例_第2页
OpenGL 编程环境设置及举例_第3页
OpenGL 编程环境设置及举例_第4页
资源描述:

《OpenGL 编程环境设置及举例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、OpenGL编程环境设置及举例首先创建工程,其步骤如下:1)创建一个Win32ConsoleApplication。2)链接OpenGLlibraries。在VisualC++中先单击Project,再单击Settings,再找到Link单击,最后在Object/librarymodules的最前面加上OpenGL32.libGLu32.libGLaux.lib3)单击ProjectSettings中的C/C++标签,将Preprocessordefinitions中的_CONSOLE改为__WINDOWS。最后单击OK。例题

2、1:#include#includevoidbackground(void){glClearColor(0.0,0.0,0.0,0.0);//设置背景颜色为黑色}voidmyDisplay(void){glClear(GL_COLOR_BUFFER_BIT);//buffer设置为颜色可写glBegin(GL_TRIANGLES);//开始画三角形glShadeModel(GL_SMOOTH);//设置为光滑明暗模式glColor3f(1.0,0.0,0.0);//设置第一个顶点为红色

3、glVertex2f(-1.0,-1.0);//设置第一个顶点的坐标为(-1.0,-1.0)glColor3f(0.0,1.0,0.0);//设置第二个顶点为绿色glVertex2f(0.0,-1.0);//设置第二个顶点的坐标为(0.0,-1.0)glColor3f(0.0,0.0,1.0);//设置第三个顶点为蓝色glVertex2f(-0.5,1.0);//设置第三个顶点的坐标为(-0.5,1.0)glEnd();//三角形结束glFlush();//强制OpenGL函数在有限时间内运行}voidmyReshape(GL

4、sizeiw,GLsizeih){glViewport(0,0,w,h);//设置视口glMatrixMode(GL_PROJECTION);//指明当前矩阵为GL_PROJECTIONglLoadIdentity();//将当前矩阵置换为单位阵if(w<=h)gluOrtho2D(-1.0,1.5,-1.5,1.5*(GLfloat)h/(GLfloat)w);//定义二维正视投影矩阵elsegluOrtho2D(-1.0,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5);glMatrixMode(GL

5、_MODELVIEW);//指明当前矩阵为GL_MODELVIEW}intmain(intargc,char**argv){/*初始化*/glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE

6、GLUT_RGB);glutInitWindowSize(400,400);glutInitWindowPosition(200,200);/*创建窗口*/glutCreateWindow("Triangle");/*绘制与显示*/background();glutReshapeFunc

7、(myReshape);glutDisplayFunc(myDisplay);glutMainLoop();return(0);}我们先看看main函数。函数中以glut开头的函数都包含在glut.h中。GLUT库的函数主要执行如处理多窗口绘制、处理回调驱动事件、生成层叠式弹出菜单、绘制位图字体和笔画字体,以及各种窗口管理等任务。·glutInit用来初始化GLUT库并同窗口系统对话协商。·glutInitDisplayMode用来确定所创建窗口的显示模式。本例中的参数GLUT_SINGLE指定单缓存窗口,这也是缺省模式,对应

8、的模式为GLUT_DOUBLE双缓存窗口。参数GLUT_RGB指定颜色RGBA模式,这也是缺省模式,对应的模式为GLUT_INDEX颜色索引模式窗口。·glutInitWindowSize初始化窗口的大小,第一个参数为窗口的宽度,第二个参数为窗口的高度,以像素为单位。·glutInitWindowPosition设置初始窗口的位置,第一个参数为窗口左上角x的坐标,第二个参数为窗口左上角y的坐标,以像素为单位。屏幕的左上角的坐标为(0,0),横坐标向右逐渐增加,纵坐标向下逐渐增加。·glutCreateWindow创建顶层窗口,

9、窗口的名字为扩号中的参数。·background()这是自己写的函数,设置背景。其实这个函数中的语句可以写在display函数中,但为了使功能块更加清晰,所以把背景这一部分单独提出来。·glutReshapeFunc注册当前窗口的形状变化回调函数。当改变窗口大小时,该窗口的形

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。