基于OpenGL的三维游戏引擎的研究毕业论文.docx

上传人:小小飞 文档编号:3921111 上传时间:2019-10-10 格式:DOCX 页数:126 大小:786.23KB
返回 下载 相关 举报
基于OpenGL的三维游戏引擎的研究毕业论文.docx_第1页
第1页 / 共126页
基于OpenGL的三维游戏引擎的研究毕业论文.docx_第2页
第2页 / 共126页
基于OpenGL的三维游戏引擎的研究毕业论文.docx_第3页
第3页 / 共126页
基于OpenGL的三维游戏引擎的研究毕业论文.docx_第4页
第4页 / 共126页
基于OpenGL的三维游戏引擎的研究毕业论文.docx_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《基于OpenGL的三维游戏引擎的研究毕业论文.docx》由会员分享,可在线阅读,更多相关《基于OpenGL的三维游戏引擎的研究毕业论文.docx(126页珍藏版)》请在三一文库上搜索。

1、 基于 OpenGL 的三维游戏引擎的研究摘要 游戏引擎是最近十年出现的新名词,也是当前计算机应用技术领域倍受关注的一个研究方向。游戏引擎是同一类游戏中经过规范化的可复用部件,它有机结合了多种子引擎,包括图形、声音、脚本、数据库、网络、设备等模块,开发者可以使用这些模块定制游戏。使用游戏引擎,游戏开发人员可以不用花过多精力去处理系统架构、内存管理、图像绘制等一些底层的技术,可以直接使用引擎来进行游戏开发,从而大大缩短游戏开发时间。课题研究背景是基于 OpenGL 的 3D 游戏引擎,OpenGL 是一个性能优越的图形应用程序接口,有很好的跨平台性和可扩展性等优点,却没有提供任何交互手段,也没有

2、音乐音效处理功能;当前基于 OpenGL 的 3D 游戏引擎在骨骼动画方面是以 md2、md3 格式为主,在逼真度和灵活性上有缺陷。课题在上述问题上引入了相应的解决方案,并在其它方面做了一些扩展,主要研究内容如下:1、研究了用于支持三维建模与动画的计算机图形学基本知识、与三维游戏引擎相关的虚拟现实技术、以及专门的三维编程软件包 OpenGL。2、分析了整个 3D 引擎的框架结构,并深入研究了各主要模块的功能。3、课题引入了 DirectX 中 DirectInput、DirectMusic 和 DirectSound 技术、引入了先进的 mdl 骨骼动画编程技术、粒子特效技术,并在目前的碰撞检

3、测技术基础上提出了圆柱体包围盒碰撞检测技术。课题利用上述技术优化了三维游戏引擎,并最终以三维游戏加以实现。关键词:OpenGL,3D 引擎,计算机图形学,mdl 骨骼动画,碰撞检测i基于 OpenGL 的三维游戏引擎的研究RESEARCH ON 3D GAME ENGINEBASED ON OPENGLABSTRACTGame engine is a new term in the latest ten years, and also a hotspot of current computerapplication technology. Game engine is the reusable

4、 part of a class of game which has beenregularized, it contains many sub-engines, including graphics, sound, script, database, network,device and other modules, users can use these components to customize game. With the engine,game developers can concentrate on game design and ignore game architectu

5、re and rendering etc.The game developers can shorten the period of game development using the engine. Thebackground of this thesis is a 3D game engine based on OpenGL. OpenGL is an efficient API ofthe graphic program. It includes many merits, such as cross-platform support and expansibility,etc. How

6、ever, it doesnt support any means of operation, yet doesnt support the function ofdealing with music; Most of the character animations are md2 and md3 in format in 3D gameengine based on OpenGL at present. But these formats have some defects in simulation andflexibility. So in this thesis we introdu

7、ce some solutions and we also supply some expansions inother aspects. The main content of this thesis is:1. We have studied the basic knowledge of computer graphics that is related to 3D modeland movies, the virtual-reality related to 3D game engine, and the technology of OpenGL that isa program sof

8、tware package.2. The frame structure and the function of main modules are studied deeply in this thesis.3. This thesis introduces the technology of DirectInput, DirectMusic, DirectSound, mdlbone animation, particle effect and based on the program of collision detection at present, wepropose the tech

9、nology of the bounding cylinder collision detection.The 3D game engine is optimized by using the techniques above. And it is completed bymeans of a 3D game last.KEY WORDS: OpenGL, 3D engine, computer graphics, mdl bone animation, collisiondetection毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导

10、教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提

11、下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库

12、进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体

13、结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指

14、定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及

15、格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (

16、签名)年 月 日原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:日期:关于学位论文版权使用授权的说明本人完全了解河北工业大学关于收集、保存、使用学位论文的规定。同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校

17、有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。(保密的学位论文在解密后适用本授权说明)学位论文作者签名:日期:导师签名:日期:河北工业大学硕士学位论文第一章绪 论1-1 研究背景三维游戏引擎技术,简单来说就是把一个三维游戏程序中可以重复利用的部分,以精巧的模块组织起来,将其规格化与最佳化,以利于程序重用的技术。三维游戏引擎目前在很多领域内都有很广泛的应用,如军方的模拟实战系统,以及三维网络游戏等, 三维游戏引擎的发展代表了计算机硬件和软件开发

18、1游戏引擎是指为制作游戏需要而事先编制好的一系列初始化、图形处理、角色控制、碰撞检测等有关的 API 函数,它相当于游戏程序员的开发工具包,有些商业化的游戏引擎同时还提供了关卡和角色编辑器。这样游戏程序员就不必从最低层开始编写游戏,只需要调用游戏引擎中相关的 API 函数。同样在游戏里,剧情的进行、形形色色的角色衬托、各种场景的变换,也都不是外行人想象中的用什么高层的程序语言一字一句控制写成的,而是由游戏引擎事先就约定俗成一种模式,一个大体的框架,然后2可以把游戏的引擎比作赛车的引擎,而众所周知,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与本车手相关的指标都是建立在

19、引擎的基础上。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同步、有序地工作,简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确3无论是 2D 游戏还是 3D 游戏,无论是角色扮演游戏、即时战略游戏、冒险解谜游戏或者是动作射击游戏,都有这样一段起控制作用的代码。只是经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画,到光影、粒子特效;从物理系统、碰撞,到文件管理、网4三维图形技术

20、、虚拟现实技术是三维游戏设计中最重要的技术领域,也是其发展的关键技术之一。而随着虚拟现实、分布式计算、分布式仿真和网络三维游戏的发展,对游戏设计提出更高的要求,不仅要求模型在图形上高度逼真、具有实时响应能力,而且也要求模型具有物理属性和行为能力即模型能够5技术、粒子特效、和场景中的碰撞检测与碰撞反应的技术进行深入研究。1的最新技术,实时性,交互性以及强大的漫游功能是其主要特点 。依靠一些复杂的数据库来组织完成的 。的音量输出声音等” 。络特性;还有专业的编辑工具和插件,几乎涵盖了开发过程中所有重要环节 。按照客观规律自主运动 。因此本文将主要针对游戏 3D 技术中实现三维场景的技术、mdl 骨

21、骼动画编程基于 OpenGL 的三维游戏引擎的研究1-2国内外研究现状游戏是一种教育方式,大量青少年在享受游戏的同时,也不自觉地接受了其中的世界观和价值观,因此,游戏实际上是一种文化推广的途径。如果不重视游戏的这一项功能,国家就有可能受到前所未有的文化侵略。游戏的关键在于游戏引擎。游戏引擎包括了一套完整的游戏开发工具与运行基础,包含了开发一套游戏所需的最核心的技术。自主知识产权的游戏通用引擎是我国游戏企业参与国际竞争的核心竞争力。高性能的游戏引擎是游戏企业技术积累的最好方式,它通过封装技术难点为游戏软件提供开发包和系列工具,使得“复制”游戏成为可能,这样就可以极大缩短游戏产品开发周期,降低游戏

22、开发的技术难度,为形成游戏市场,创造巨大经济、社会效益提供根本保证。曾经有一段时期,游戏开发者关心的只是如何尽量多地开发出新的游戏并把它们推销给玩家。尽管那时的游戏大多简单粗糙,但每款游戏的平均开发周期也要达到 8 到 10 个月以上,一方面是由于技术6有经验的开发者摸索出了一种方法,他们借用上一款类似题材的游戏中的部分代码作为新游戏的基本框架,以节省开发时间和开发费用,引擎的概念就是在这种机器化作业的背景下诞生的。每一款游戏都有自己的引擎,但真正能获得他人认可并成为标准的引擎并不多。纵观九年多的发展历程,可以看出引擎最大的驱动力来自于游戏,尤其是网络游戏。1、引擎的诞生(1992 年1993

23、 年)1992 年,3D Realms 公司和 Apojfe 公司发布了一款只有 2 兆多的小游戏德军司令部,它在整个电脑游戏发展史上占据着重要地位。这部游戏开创了第一人称射击游戏的先河,更重要的是,它在 X轴和 Y 轴的基础上增加了一根 Z 轴,在由宽度和高度构成的平面上增加了一个向前向后的纵深空间。引擎诞生初期的另一部重要游戏同样是出自 id Software 公司的一款非常成功的第一人称射击游戏毁灭战士(Doom)。Doom 引擎在技术上大大超越了 Wolfenstein 3D 引擎,德军司令部中的所有物体大小都是固定的,所有路径之间的角度都是直角,也就是说你只能笔直地前进或后退,这些局

24、限在毁灭战士中都得到了突破。尽管游戏的关卡还是维持在平面上进行制作,但墙壁的厚度可以为任7由于 Doom 引擎本质上依然是二维的,因此可以做到同时在屏幕上显示大量角色而不影响游戏的运行速度。值得一提的是,尽管引擎缺乏足够的细节度,但开发者仍然在毁灭战士中表现出了惊人的环境效果,其纯熟的设计技巧实在令人赞叹。2、引擎的转变(1994 年1997 年)在引擎的进化过程中,肯西尔弗曼于 1994 年为 3D Realms 公司开发的 Build 引擎是一个重要的里程碑,Build 引擎的“肉身”就是毁灭公爵(Duke Nukem 3D)。毁灭公爵己经具备了今天第一人称射击游戏的所有标准内容,如跳跃、

25、360 度环视以及下蹲和游泳等特性,此外还把异教徒里的飞行换成了喷气背包,甚至加入了角色缩小等令人耳目一新的内容。在 Build 引擎的基础上先后诞生过14 款游戏。不过从总体来看,Build 引擎并没有为 3D 引擎的发展带来任何质的变化,突破的任务最终2的原因,另一方面则是因为几乎每款游戏都要从头编写代码,造成了大量的重复劳动 。渐渐地,一些意,并且路径之间的角度也可以为任意,这使得楼梯、升降平台、塔楼和户外等各种场景成为可能 。河北工业大学硕士学位论文8雷神之锤紧跟在毁灭公爵之后发售,从内容的精彩程度来看毁灭公爵超过雷神之锤不少,但从技术的先进与否来看,雷神之锤是毫无疑问的赢家。Quak

26、e 引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的 3D 引擎。此外 Quake 引擎还是连线游戏的始作俑者,最终把网络游戏带入大众的视野之中的是雷神之锤,是它促成了电子竞技产业的发展。一年之后,id Software 公司推出雷神之锤 2,一举确定了自己在 3D 引擎市场上的霸主地位。雷神之锤 2采用了一套全新的引擎,可以更充分地利用 3D 加速和 OpenGL 技术,在图像和网络方面与前作相比有了质的飞跃,Raven 公司的异教徒 2和军事冒险家、Ritual 公司的原罪都采用 Quake引擎。正当 Quake独霸整个引擎市场的时候,Epic Megagames 公司的虚

27、幻(Unreal)问世了。尽管当时只是在的 300200 分辨率下运行的这款游戏,除了精致的建筑物外,游戏中的许多特效即便在今天看来依然很出色,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。从单纯的画面效果来看,虚幻是当之无愧的佼佼者。Unreal 引擎可能是使用最广的一款引擎,在推出后的两年之内就有 18 款游戏与 Epic 公司签订了许可协议。Unreal 引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。3、引擎的革命(1998 年2002 年)游戏的图像发展到虚幻这里己经达到了一定的高度,但引擎技术对于游戏的作用并不仅局限于画面,它还影响到游戏的整体风格。

28、两部划时代的作品同时出现在 1998 年Valve 公司的半条命和 Looking Glass 工作室的神偷:暗黑计划,对后来的作品以及引擎技术的进化造成如此深远的影响。曾获得无数大奖的半条命采用的是和 Quake 和 Quake引擎的混合体,Valve 公司在这两部引擎的基础上加入了两个很重要的特性:一是脚本序列技术,这一技术可以令游戏以合乎情理的节奏通过触动事件的方式让玩家真实地体验到情节的发展,这对于诞生以来就很少注重情节的第一人称射击游戏来说无疑是一次伟大的革命;第二个特性是对人工智能引擎的改进,敌人的行动与以往相比明显有了更多的狡诈,不再是单纯地扑向枪口。这两个特点赋予了半条命引擎鲜

29、明的个性,在此基础上诞生的要塞小分队、反恐精英和毁灭之日等优秀作品,又通过网络代码的加入,令半条命引擎9在人工智能方面真正取得突破的游戏是 Looking Glass 工作室的神偷:暗黑计划,采用的是Looking Glass 工作室自行开发的 Dark 引擎,Dark 引擎在图像方面比不上雷神之锤 2或虚幻,但在人工智能方面它的水准却远远高于后两者。如今的绝大部分第一人称射击游戏都或多或少地采用了这种隐秘的风格。受半条命和神偷暗黑计划两款游戏的启发,越来越多的开发者开始把注意力从单纯的视觉效果转向更具变化的游戏内容,其中比较值得一提的是离子风暴工作室出品的杀出重围, 杀出重围采用的是 Unr

30、eal 引擎,尽管画面效果十分出众,但在个体的人工智能方面它无法达到神偷系列的水准,图像的品质抵消了人工智能方面的缺陷,而真正帮助杀出重围在众多射击游戏中脱颖而出的3由 id Software 公司的雷神之锤(Quake)完成了 。焕发出了更为夺目的光芒 。基于 OpenGL 的三维游戏引擎的研究则是它的独特风格,游戏含有浓重的角色扮演成分,人物可以积累经验、提高技能,还有丰富的对话和曲折的情节。同半条命一样,杀出重围的成功说明了叙事对游戏的重要性,能否更好地支持游戏的叙事能力成为了衡量引擎的一个新标准。从 2000 年开始 3D 引擎朝着两个不同的方向分化,一是如半条命、神偷和杀出重围那样通

31、过融入更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模式发展,在这一方面,id Software 公司再次走到了整个行业的最前沿,在 Quake出色的图像引擎的基础上加入更多的网络成分,推出了一款完全没有单人过关模式的纯粹的网络游戏雷神之锤 3 竞技场,它与 Epic 公司稍后推出的虚幻竞技场一同成为引擎发展史上的一个转折点。随着 Quake引擎的大获成功,Raven 公司再次同 id Software 公司合作,采用 Quake引擎制作了第一人称射击游戏星际迷航:精英部队,此外这部引擎还被用于制作第三人称动作游戏重金属F.A.K.K 2和艾丽丝漫游魔

32、境、两款二战题材的射击游戏重返德军总部和荣誉勋章:盟军进攻,充分显示了 Quake引擎的强大潜力。Epic 公司的虚幻竞技场虽然比雷神之锤 3 竞技场落后了一步,但如果仔细比较一下的话,你就会发现它的表现要略高出后者一筹。从画面方面看两者差不多打成平手,但在联网模式上,它不仅提供有死亡竞赛模式,还提供有团队合作等多种激烈火爆的对战模式,而且 Unreal Tournament 引擎不仅可以应用在动作射击游戏中,还可以为大型多人游戏、即时策略游戏和角色扮演游戏提供强有力的3D 支持。回顾中国的游戏产品,国内一些较大的游戏厂家,以前大多是为国外的游戏厂商做代理,没有自己自主开发的产品,更谈不上核心

33、技术。随着中国 IT 产业的迅猛发展,国内的游戏厂商才开始进行游戏的开发,但步伐也远远落后于国外厂商。国内游戏软件尴尬的现状,可以从两方面分析原因。其一是中国游戏制作人员缺乏创意,固步自封。仙剑奇侠传开创中国游戏的辉煌后,很多游戏公司就套着这个游戏思路,只是故事情节、人物名称更改了,把武侠小说一部部改成了一个个游戏,千篇一律,没有创新,最多也只是把格斗的动作变换了。总结这种现象的时候,很多人不约而同地把“中国语言和地道的民族题材”当作最重要的一条,这就是他们所认为的“中文游戏优势”。用本土语言和本土题材创作确实是一种优势,但这种优势只在特定的文化、地域时间界限之内起作用。更为关键的是,所谓的本

34、土优势纯粹是市场判定,它体现出来的是游戏产品在语言文化上的优势而不是游戏本身的优势。所以本土优势与游戏作品的素质其实并无关系。其二是开发技术层次上的落后。仙剑奇侠传游戏引擎是用 DirectX 技术做的,其显示效果只是“假三维”,就是使用贴图来给游戏者造成视觉上的一种错觉10幻想已经实现了真正意义上的三维视景,只是碍于游戏对计算机硬件的要求,所以未能普及到一般游戏用户。为什么国外公司可以开发出这么逼真的三维游戏呢,关键的一点就是人家采用了更为先进游戏引擎的技术OpenGL。由于这种技术对计算机硬件要求比较高,所以以前一般只能在专门的图形工作站才能使用,但现在随着计算机技术的发展,已经可以普及到

35、个人家庭的 PC 机,而这也正是现在 3D 游戏能大行其道的原因。在 2D 游戏设计时,OpenGL 的性能并不见得比 DirectX 好,甚至可能比其差,但在3D 游戏设计方面,其优越性就完全展现出来了。4。但这时,国外史克威尔公司所推出的最终河北工业大学硕士学位论文1-3问题的提出和本文的主要研究内容本文主要研究了基于 OpenGL 的三维游戏引擎技术,OpenGL 是一个性能优越的图形应用程序接口,可以用简单的代码实现复杂的图形绘制,有很好的跨平台性和可扩展性等优点,却没有提供任何交互手段,也没有音乐音效处理功能;当前基于 OpenGL 的 3D 游戏引擎在骨骼动画方面是以 md2、md

36、3 格式为主,在逼真度和灵活性上有缺陷;在碰撞检测方面算法虽然已经比较成熟,但较高的仿真度和对系统的要求始终是其不可忽略的瓶颈。针对现有开源的 3D 游戏引擎的不足,本文研究探讨了三维游戏引擎中的基础公用模块、界面管理模块、窗口引擎模块、对象管理模块、粒子特效模块、输入系统模块、场景管理模块、消息管理模块、资源管理模块、物理模拟模块、音视频管理模块等相关模块,并针对上述问题引入了当前流行的 mdl 骨骼动画编程技术、粒子特效技术,在现有碰撞检测基础上提出了圆柱体包围盒碰撞检测,提出了在引擎中将 OpenGL 的图形图像处理与 DirectX 的输入、音乐、音效相结合的技术。具体的研究内容主要包

37、括以下几个方面:1、在界面管理模块研究探讨了对话框、滚动条、输入框、进度条、按钮、小地图的显示等界面元素的制作和通信机制。2、在对象管理模块研究了静态物体和动态物体的建立,在静态物体中主要研究了基于 ms3d 模型的载入,而动态物体是研究的难点和重点,实现了对 mdl 模型载入接口的调用,并协调输入系统模块对人物的控制。3、研究利用 OpenGL 实现灯光、投影、贴图、渲染等场景绘制技术。探讨了图形优化显示,提高显示效率的各种方案,在这里体现了 OpenGL 强大的图形图像处理功能。4、在资源管理模块研究了图形图像资源、ms3d 模型资源,mdl 角色动画资源,这部分也是难点,要了解 bmp

38、位图和 tga 图片内部格式,研究实现调用 ms3d 模型的接口和调用 mdl 模型的接口。5、研究在粒子特效模块中用粒子特效技术实现下雪的自然现象。6、在输入系统模块利用了 DirectX 的 DirectInput,实现对系统字库的调用并定位输入显示的技术,以及控制角色行动和攻击的技术。7、在音视频管理模块利用 DirectX 的 DirectSound 和 DirectMusic 实现声效和音乐的制作。8、在基础公用模块中研究了对 INI 文件读取写入的技术,实现引擎模块中的各种初始化工作。9、在场景模块中研究了利用天空盒原理创造天空和利用灰度图创造大地的技术,以及公告板技术实现植被显示

39、的技术。10、在物理模拟模块中研究了虚拟三维世界的碰撞检测和碰撞反映技术,并提出了几种先进算法。11、研究各个模块的通信机制,因三维游戏引擎的庞大性,导致通信机制十分繁琐,接口调用频繁,在各个模块中要细致处理。5基于 OpenGL 的三维游戏引擎的研究1-4本文的组织本论文由五章正文内容和参考文献组成,具体内容安排如下:第一章:绪论。介绍本文的研究背景,3D 游戏引擎的国内外发展现状,提出国内外游戏引擎研究的差距和国内游戏引擎的不足。最后提出一些需要改进的问题和本文的主要研究内容以及本文的组织安排。第二章:相关技术研究。介绍 3D 游戏引擎研究的理论基础和采用的技术。包括图形学理论知识、虚拟现

40、实技术、OpenGL 技术。第三章:3D 游戏引擎的构架与各模块详述。研究 3D 游戏引擎中各个模块的理论知识和核心技术。针对现有开源游戏引擎的各种技术对比优劣,提出相应解决方案。第四章:核心技术详细设计。提出将 OpenGL 的图形图像处理与 DirectX 的输入、音乐、音效相结合的技术并加以实现。并在 mdl 骨骼动画、粒子特效、碰撞检测方面进行深入的研究,并给出相应的代码。第五章:效果展示。将引擎的效果以图片形式进行展示,并加以文字说明。第六章:最后总结研究工作和全文,并提出系统改进之处。本论文所有编程实现是在 Windows XP 操作系统、VS 2005 环境中完成的。6河北工业大

41、学硕士学位论文第二章相关技术研究2-1 计算机图形学知识“计算机图形学”的含义比较广,在不同的文章有不同的意思表示。简单来说,它表示计算机生成的一系列图形与图像,正如日常生活中报纸、杂志、电视、电影上看到的那些图片、影像画面都属于此范畴。“计算机图形学”也是一种处理图形与图像的计算机技术,辅助各类技术人员实现各种图形图像操作11。2-1-1 图形与图像基本概念在系统开发过程中,既涉及到图形又涉及到图像,经常是容易混淆这两个概念,因此首先介绍二者的区别与联系。图形可以用形状参数和属性参数来表示。形状参数可以是描述其形状的数学方程的系数、线段的起始点及终止点等,属性参数则包括灰度、色彩、线型等非几何属性。突出了图形的数学描述,因此图形是指可以用数学方法进行描述的带有灰度、色彩等属性的图形。强调的是“形”的概念12。图像是用具有灰度和色彩的点阵来表示,它强调是由哪些点组成的,这些点具有什么灰度和色彩,形象地说,图像类似于这样一个矩阵,矩阵的某一位置的值,表示该处的灰度或色彩。虽然矩阵仍然是一种数学概念或方法,但强调的是“灰度”而不是“形”。虽然图形与图像是两个不同的概念,但它们又不是绝然分开的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1