第14讲 OpenGL三维编程.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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 鼠标交互式浏览 融智技术学院

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档