论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
基于DirectX 的游戏引擎概述
2.1 游戏引擎开发目标和结构描述
本游戏引擎基于Microsoft DirectX 9C SDK的基础上,探讨和分析了自制3D游戏此外,本游戏引擎还具有魔法系统类(CMagic)、地形自动生成系统类(CTerrain)、游戏环境渲染系统类、粒子系统类、用户事件响应系统、DirectX 3D异常类(D3DException)、3DSMAX 模型对象驱动控制类。考虑到实际运行的需要,本引擎还支持游戏对象动态生成。以上的所有系统,都进行了面向对象的封装,使得和游戏引擎的框架(DXUT)、脚本解析引擎完美的融合在一起。
2.2 Microsoft DXUT框架简介
本游戏引擎是运行在DXUT框架的基础上,DXUT是微软为了简化DirectX在Win32平台下的开发而实现的一套框架。由于该框架较为复杂,本着实用为主的精神,本人对其中重要的部分进行了打包,包名为Microsoft。下面我就对DXUT中的一些重要的函数和整个框架调用API的顺序进行一个简单介绍。
程序启动:InitApp →MsgProc →IsDeviceAcceptable →ModifyDeviceSettings OnCreateDevice →OnResetDevice → 渲染主循环
渲染主循环: OnFrameMove → OnFrameRender
改变设备: ModifyDeviceSettings → OnLostDevice →根据需要调用
OnDestroyDevice → OnResetDevice → 渲染主循环
程序退出: OnLostDevice →OnDestroyDevice
下面是DXUT下各函数的作用:
InitApp 初始化一些图形控件和GUI的消息处理函数 (科教作文网http://zw.nseAc.com)
OnCreateDevice 创建设备时的回调函数,用于创建D3DPOOL_MANAGED资源
OnResetDevice 重设设备时的回调函数,用于创建D3DPOOL_DEFAULT资源
OnFrameMove 动画实现处,常用于矩阵转换等操作
OnFrameRender 渲染实现处,常用于渲染场景
OnLostDevice 设备丢失时的回调函数,释放由OnResetDevice创建的资源
OnDestroyDevice 设备析构时的回调函数,释放由OnCreateDevice创建的资源
IsDeviceAcceptable 创建设备时用来对所有可用设备进行过滤的函数
ModifyDeviceSettings 更改设备时的回调函数,用于实现更改设备时所需做的其他操作
MsgProc 安排各空件处理消息的顺序
OnGUIEvent 程序控件绑定的消息处理回调函数
掌握了以上的基本函数后,就可以把游戏引擎中的一些函数架设在此基础之上了。
游戏引擎开发包D3DUtility简介
D3DUtility开发包是本游戏引擎的核心部分,里面封装的许多类库,提供给DXUT框架调用,下面展现一下该工具包的具体内容。更加详细的UML建模,参看附件的Tiny.gif。
CMagic:是负责魔法系统的基类,它的派生类是CCrystalMagic、CBlazeMagic。
CCrystalMagic:产生水晶魔法效果的类。
CBlazeMagic:产生火焰魔法效果的类。
DirectX3DObject:是D3D对象的基类,它的派生类是DirectX3DDotXObject。
ID3DObjectFactory:是负责产生D3D对象的工厂类,是一个接口,D3DDotXFactory实现了它。 (科教作文网 zw.nseac.com整理)
IControlDirectX3DObject:是负责控制D3D模型对象具有的抽象行为,它是一个接口。
DirectX3DDotXObject:是用来驱动和控制3DSMAX模型对象的类,它实现了IControlDirectX3DObject,且从DirectX3DObject派生而来。
……………………………….
游戏引擎文件的组织结构
本引擎的文件组织参考了Java包结构的组织形式,结构清晰易于管理。主要有D3DUtility包和Microsoft包,Microsoft包中打包好了DXUT框架下的常用类库,最后是主文件D3DMain.cpp和stdafx.h。
一款基于DirectX 游戏引擎的实现及主要类库说明
3.1 开发环境
IDE:Microsoft Visual Studio 2005 Professional Edition (Visual C++ 2005)
DirectX SDK:Microsoft DirectX 9C SDK
游戏引擎脚本IDE:XMLSpy
建模工具:Rational Rose 2003
Windows Platform:Windows XP (Service Pack 2)
3.2 游戏引擎功能描述
初步实现了用鼠标控制人物模型的移动(基于骨骼模型驱动),绚丽的魔法效果,地形的自动生成,灵活的视角移动。驱动3DSMAX模型文件(.x)的功能,及其对模型文件进行控制响应,同时还配备一个游戏脚本解析引擎。下面就争对该引擎在设计过程中的几个重要类进行一下简单的介绍。
工