论文部分内容阅读
交互式数码娱乐引擎即3D游戏引擎在游戏设计,虚拟现实技术等领域有着广泛的应用,具有重要的使用价值。引擎为游戏开发者提高一套完整的API,包括底层的数据结构、文件读写、数学库等的支持,上层的场景管理、界面管理、资源管理,扩展层的显示特效等方方面面。
可重用开发工具是引擎的重要组成部分,开发工具的实现不仅仅依赖于客户端引擎的底层功能,还依赖于扩展功能模块的支持。如声音引擎、GUI模块、虚拟摄像机系统、BILLBOARD、光影模块以及粒子系统等,本文设计了这些模块,重点在于光影模块、粒子系统以及声音引擎。
光影模块分为两个部分:静态阴影贴图和动态光影效果。静态阴影贴图采用离线预先计算阴影信息,从而不必实时计算阴影效果,提高了实时渲染速度;动态阴影则用来弥补静态阴影的不足,针对需要展示实时效果的地方进行动态光影计算,本文还利用shader技术对动态阴影进行了模糊计算。在场景中综合使用这两者能够在渲染效果和速度上达到一个平衡。
粒子系统是游戏特效的重要组成部分,本文设计了粒子系统中各个模块的结构,并实现了多种不同类型的发射器和影响器,以模拟不同的粒子系统。
声音引擎用以实现游戏中背景音乐和音效的播放,引擎将DirectMusic进行封装,留出应用接口,方便用户调用。同时,声音引擎作为一个独立模块,可以在任何支持有DirectX库支持的环境下使用。