【编者按】网学网计算机论文频道为大家收集整理了“基于XML脚本驱动的DirectX游戏引擎(一)“提供大家参考,希望对大家有所帮助!
中文摘要
回顾游戏引擎的历史,认识到游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中所有的重要环节。引擎是游戏的心脏,决定着游戏的性能和稳定性以及游戏的速度、操纵感,这些与游戏相关的指标都是建立在游戏引擎的基础上。
本论文以开发一个基于DirectX的游戏引擎作为切入点,以增量开发(RAD)的方式打造一个游戏引擎的工具包:D3DUtility。其中包含的功能有:3D模型驱动、3D骨骼模型驱动、角色控制器、地形生成器、绚丽的魔法效果、采用ATL(Active Template Library)编写的游戏脚本解析引擎等等。由于DirectX游戏引擎的脚本采用的XML脚本的形式,考虑到驱动脚本的合法性问题,本人采用XSD(XML Schema Definition)对XML脚本的合法性进行验证,从而最大限度的保证了游戏脚本的合法性。
本文最后利用D3Dutility工具包中的类结合Microsoft DXUT框架编写了一个简单的3D游戏场景。由于采用XML脚本驱动,可以做到整个游戏引擎的框架不变,只要改动相应的游戏脚本,然后就可以重新生成符合要求的游戏场景。不求尽善尽美,但求从中体会到成功后的快乐与满足。
关键词:游戏引擎、DirectX程序设计、XML脚本驱动
Abstract
Review the history of the game engine, recognizing the game engine has developed a number of subsystems for a common form of complex systems, from modeling, animation to lighting, particle effects, from the physical system, collision detection to document management, network characteristics, There are professional editing tools and plug-ins, covering almost all in the process of developing an important link. The engine is the heart of the game, the game is determined by the performance and stability, and the speed of the game, the sense of manipulation, and these games are the indicators related to the establishment of the game on the basis of the engine.
This paper to the development of a game engine based on DirectX as a starting point to incremental development (RAD) approach to build a game engine kits: D3DUtility. Which includes the function: 3 D model-driven, 3 D skeleton model-driven, the role of controller, terrain generator, the brilliant magic effects, using ATL game script prepared by the Analytical Engine, and so on. As DirectX game engine used in the script XML in the form of scripts, taking into account the question of the legality of the script-driven, I use XSD (XML Schema Definition) on XML to verify the legitimacy of the script, thus maximizing the guarantee of a legitimate game script Sexual.
Finally, the use of the tool kit D3Dutility’s classes with Microsoft DXUT framework of the preparation of a simple 3 D game scenes. As a result of XML script-driven, can do the entire game engine framework remains unchanged, as long as the changes in the corresponding game script, and then can be re-generated to meet the requirements of the game scenes. Not seeking perfection, but demand from the successful experience the joy and satisfaction.
Key words: game engine, DirectX programming, XML-driven script
目 录
第一章:绪论
1.1 游戏引擎简介………………………………………………………………4
1.2 Microsoft DirectX 简介……………………………………………………4
1.3 组件对象模型COM简介………………………………………………….5
1.4 课题背景及商业价值………………………………………………………6
第二章:基于DirectX的游戏引擎概述
2.1 游戏引擎的开发目标及结构描述…………………………………………6
2.2 Microsoft DXUT框架简介………………………………………………...7
2.3 游戏引擎开发包D3DUtility简介…………………………………………8
2.4 游戏引擎的文件组织结构…………………………………………………9
第三章:一款基于DirectX游戏引擎的实现及主要类库说明
3.1 开发环境………………………………………………………………..…9
3.2 游戏引擎功能描述………………………………………………………..9
3.3 工具包D3DUtility--ID3DObjectFactory、D3DDotXFactory类介绍…..9
3.4 工具包D3DUtility--DirectX3DDotXObject类介绍…………………….11
3.5 工具包D3DUtility-