计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于XML脚本驱动的DirectX游戏引擎(一)信息工(2)

2013-05-11 18:00
导读:-DirectX3DAnimationDriver类介绍……………....13 3.6 工具包D3DUtility--CTerrain类介绍…………………………………...17 3.7 工具包D3DUtility--CRoleController类介绍…………
-DirectX3DAnimationDriver类介绍……………....13
 3.6   工具包D3DUtility--CTerrain类介绍…………………………………...17
 3.7   工具包D3DUtility--CRoleController类介绍………………………..….18
 3.8   工具包D3DUtility--CCrystalMagic类和CBlazeMagic类介绍……….18
 3.9   工具包D3DUtility--CXMLSprite类介绍…………………………….…20
3.10  利用ATL定义CXMLSprite接口……………………………………...….21
 3.11  工具包D3DUtility------CXMLScriptSprite类介绍…………………….24
3.12  利用XSD验证XML脚本的合法性…………………………………...27
第四章:基于DirectX游戏引擎的开发包D3DUtility的使用方法简介
 4.1  用D3DUtility开发包中的DirectX3DDotObject类驱动.x模型文件…..30
 4.2  用D3DUtility开发包开发简单的游戏场景 ……………………………32
第五章:游戏部分场景截图
5.1  DirectX3DDotObject类驱动.x模型文件(运行环境MFC) ……………..33      
5.2  DirectX3DAnimationDriver驱动骨骼模型效果(运行环境DXUT)……..33
 5.3  利用D3DUtility开发包开发简单的游戏场景截图(运行环境DXUT)…34
总结与展望……………………………………………………………………...…...35
致谢……………………………………………………………………………...…...35
参考文献…………………………………………………….………………….....…36

 

 

 

绪论

 游戏引擎简介

我们常常会碰见“引擎”(Engine)这个单词,我们可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”    以下就对引擎的一些关键部件作一个简单的介绍。    ……. 本文来自中国科教评价网
    通过上面这些枯燥的介绍我们至少可以了解到一点:引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。以上就是游戏引擎的基本概念。
 
 Microsoft DirectX 简介

DirectX是游戏制作者的API(Application Development Interface)。它是一组允许你直接控制计算机硬件设备的软件。如果你的硬件支持DirectX,并且你可以用硬件加速你的程序,这就意味着一个字——快。不用担心你的硬件知识,你不会 真正的接触到它们。我们是通过硬件抽象层(HAL)和硬件仿真层(HEL)来保证设备无关性和让你的程序正常运行。
 DirectX由很多组件构成,每一个都有特定的用途。组件DirectDraw是最为重要的一个,因为所有的图形都要用到它,它是2D图形的引擎,3D图形也同样离不开它。其它的组件是:
    其中Direct3D是一种低层图形API,它能让我们利用3D硬件加速来渲染3D世界。我们可以把Direct3D看作是应用程序和图形设备之间的中介。例如通知图形设备清空屏幕,应用程序将调用Direct3D的IDirect3DDevice9::Clear方法。下图显示了应用程序、Direct3D和图形设备之间的关系。
 

 组件对象模型COM简介

 说到DirectX就不得不提到COM,COM接口是DirectX技术的基础,没有COM就没有DirectX。(不用担心,你只需要对COM技术有一个粗浅的了解就可以使用DirectX——只要你在编写DirectX应用程序时遵循一定的步骤,甚至都可以在不了解COM的情况下使用DirectX。
    DirectX的大多数API都是基于COM结构的。COM为软件模块化和软件重用提供了最坚实的基础,它的最重要的概念就是接口(interface),接口是软件重用的最基本方法。更专业的说,接口是一系列操作的规范描述,即接口规范。 (科教作文网http://zw.ΝsΕAc.com发布)
  
 所有COM对象都具有这三个方法。虽然DirectX应用程序一般不需要考虑引用计数的问题,但引用计数确实是存在的,它已经由DirectX自动完成了。我们所要做的,就是创建DirectX对象,然后在使用完毕后调用Release方法释放引用。
 
 课题背景及商业价值

 随着网络游戏的发展,玩家们对游戏质量的要求也在不断提高。对于游戏制作者来说,在底层技术方面,目前3D的框架主流是DirectX和OpenGL,但是对于图形芯片厂商来说,DirectX所带来的影响是没人能及的!就拿游戏制作者们常用的DirectX和OpenGL的比较来说,经过他们共存的一段时间的分析,我们可以清楚的认识到,OpenGL其实不是很适合3D游戏的研发,很多GPU (Graphic Processing Unit,图形处理器)厂商的多项3D特效技术都需要在DirectX下才能发挥最大的效果。当然,更没有令我们失望的是,DirectX它给我们带来的电影级的画面渲染效果,这无疑给我们造成了巨大的震撼效果。而引擎的图形显示部分把这些Direct函数都封装起来,原本要实现一个效果需要20到30条语句,而有了引擎之后要实现这个效果只需要一条语句就能轻松完成。极大的减轻了程序员的负担,也相应的减少了游戏的开发周期。由专门开发游戏引擎的厂商所提供的程序是经过严格测试的,所以出错的可能很小,这样就大大降低了游戏当机的机率。使用游戏引擎制作游戏可以说是一举多得。一款好的3D引擎的价格大约是150万美元,如:虚幻系列的最新款虚幻3引擎。这是当今世界上最强大的一款引擎,能实现你能想到的所有游戏效果,已经被EA,育碧,Square,微软,CAPCOM等

上一篇:机电一体化的发展与应用 (一)信息工程毕业 下一篇:没有了