- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前 言
三维场景主要应用于楼盘展示、小区规划、广告创意、游戏制作、电影特技等传统方式不好达到效果的领域里。本设计是校园的三维场景制作,通过键盘控制视角的移动,旋转,翻转等动作在三维场景中自由观察各个建筑,能使没来过辽宁石油化工大学的人对我校有身临其境的了解,这与普通的平面图展示相比直观的多。
场景的模型和贴图都是由OpenGL提供,例如要建个楼的模型那么就得先建六个面,让它们构成一个楼的各个面,在用事先处理好的图片贴上去就构成了一个楼,这与真实世界的是一样的,图片要求是垂直拍摄的这样才真实,OpenGL对贴图的材质是有要求的,一般要求位图大小是64*64、128*128、256*256,本文用的位图颜色深度是24位,有大部分为了保证质量用的是256*256,这在程序运行时不至于图片模糊,但程序负担变大了,低于256M内存的PC运行起来会慢一些。在OpenGL 中是用单位长度来表示的,不过只能看到100单位以内的物体,超过这个长度就不在屏幕上显示了,它的长度是用浮点数表示,这样就可以用1.0f表示实际上的1M,也可以用0.1f表示1M,也就是说他的比例尺是可以改变的,一个变量P去乘每个点坐标,那么就可以改变P的值而得到比例尺的改变,可视面积就变大拉。
OpenGL 是SGI公司开发的一套高性能的图形处理系统,是图形硬件的软件界面,GL即代表图形库(Graphics Library)。通过OpenGL程序员可以创建交互式应用程序,实现具有逼真效果的三维图形图象,从而在要求高度模拟真实世界的诸多领域中都可以大显身手。
目 录
摘 要……………………………………………………………………04
一、需求分析……………………………………………………………………07
1.1 基于OpenGL的三维场景设计的意义…………………………………07
1.2 基于OpenGL的三维场景设计要解决的主要问题……………………08
二、OpenGL图形绘制及纹理贴图………………………………………………09
2.1 OpenGL数据类型和函数名OpenGL颜色设置………………………………………………………09
2.3 OpenGL图形绘制……………………………………………………10
2.4 读取位图文件…………………………………………………………11
2.5 位图转换成纹理………………………………………………………12
2.6 OpenGL纹理贴图………………………………………………………15
三、方案设计……………………………………………………………………17
3.1 技术可行性……………………………………………………………17
3.2 方案实现的概要说明…………………………………………………17
四、具体实现……………………………………………………………………19
4.1 程序流程图……………………………………………………………19
4.2 制作过程………………………………………………………………20
4.3 关键技术及解决办法…………………………………………………20
4.3.1基本光照效果……………………………………………………20
4.3.2 使用混合功能实现透明的原理…………………………………22
4.3.3 绘制圆柱,圆盘,球体…………………………………………23
4.3.4 设置路灯开关……………………………………………………26
4.3.5 旋转,翻转………………………………………………………27
4.3.6 移动………………………………………………………………28
五、实现结果分析及总结………………………………………………………30
5.1 键盘控制说明…………………………………………………………30
5.2 运行结果截图…………………………………………………………30
5.3 运行结果讨论分析……………………………………………………31
六、结束语………………………………………………………………………33
七、致谢…………………………………………………………………………34
八、参考书目……………………………………………………………………35
九、附录…………………………………………………………………………36
摘 要
本设计是利用VC++6.0的编译器,C语言的语法,OpenGL的函数库,建立Win32 Application, 实现三维校园场景的建立,主要楼群,地面,路灯,花坛,球场,树木等的建模及贴图,实现用键盘控制视角的自由移动,旋转,翻转。将我校的校园展现在计算机的三维世界中。
程序中将每个物体代码写入相应的函数中,这样,在需要该物体的地方只需调用该函数即可。这些函数无须参
文档评论(0)