资源描述
,Click to edit Master title style,Click to edit Master text styles,融智,技术学院,第14,章,OpenGL,三维编程,随着互联网技术的快速发展,计算机硬件设备的普及大众化,三维网络游戏成为现今软件业的最大热门,网络游戏具有炫丽的界面、丰富的剧情和任务、持续的角色升级、现实与虚拟的结合等特点,深受广大网民的追捧,而且网络游戏依赖游戏中提供的服务获利,无需担心软件的盗版问题,各大网游公司从中获利颇丰。,14.1,了解,OpenGL,OpenGL,是一个功能非常强大的三维图形库,在各类三维图形软件中得到广泛使用,计算机显示硬件通常将其部分指令固化到硬件中,从而提高执行效率。学习,OpenGL,需要掌握相关的图形学知识,如坐标变换、投影、纹理等内容,建议阅读,OpenGL,编程指南(第四版),,以了解更多内容。,14.1.1,OpenGL,三维绘图,在使用,GDI,提供的绘图函数时,只需传入,x、y,两个方向的坐标值,而在,OpenGL,三维环境下,每个点有,3,个坐标值:,x、y、z,z,表示点的深度值。默认情况下,窗口中心点的,x、y,值为,0,,x,从左往右递增,,y,从下往上递增,窗口所在的平面,z,值为,0,,z,从内往外递增,即窗口横向为,x,轴,窗口纵向为,y,轴,垂直于窗口为,z,轴。,14.1.2,OpenGL,库文件,Visual C+6.0,自带有,OpenGL,的库文件,包括头文件、,lib,文件、,dll,文件,但其版本较低,若要使用高版本的,OpenGL,库,可将,3,种类型文件分别拷贝到对应位置。,14.2,MFC,框架下使用,OpenGL,一般情况可直接在,Win32,环境中使用,API,函数创建桌面窗口,并利用,OpenGL,函数绘制三维图形,但由于使用,API,做为框架需要掌握大量基础函数,难度较大,且不便于交互式操作。在,MFC,框架下调用,OpenGL,函数较为简单,只需添加少量代码就可实现三维效果,且便于实现鼠标、键盘的交互式操作。,14.2.1,创建,MFC,框架,【,范例,14-1】,新建一个单文档工程名为,MyGL,,,读取一组坐标数据,利用,OpenGL,函数绘制三维图形,并实现鼠标的交互式浏览。,14.2.2,使用,OpenGL,当关闭窗口,退出程序时,需要释放创建的渲染环境。,wglMakeCurrent,函数取消当前使用的,RC,,若当前,RC,可用,,wglDeleteContext,函数释放创建的,RC,,并设置,RC,句柄为空。,14.2.3,读取坐标文件数据,ReadString,函数读取文本文件的每一行的数据,存入,strLine,中。先获取两个分隔符的索引,再分别获取,x、y、z,三个坐标值,调用,atof,函数转为浮点数,存入点对象中,再将每一行所代表的点存入动态数组中。,14.2.4,绘制三维图形,14.2.5,鼠标交互式浏览,
展开阅读全文