论文部分内容阅读
游戏引擎在游戏开发中起着至关重要的作用,如同汽车发动机在汽车制造中的作用一样。一款性能优越兼容性强的汽车发动机不仅可以极大提升一辆汽车性能,而且可以极其方便的用于组装生产其它汽车。同样一款好的游戏都有一款强大的游戏引擎作支撑,游戏引擎是游戏开发中最核心最重要的部分,其具有很强的重用性、独立性、通用性。游戏引擎可以非常方便的移植到其它同类型游戏开发中,极大的缩短游戏开发周期,提高游戏开发的效率。在游戏开发过程中游戏引擎是独立于具体游戏开发的,它是先于具体游戏开发之前完成,通过提供底层接口给游戏开发者开发具体的游戏。3D游戏引擎的开发将涉及到复杂的数学、几何变换知识,对数学理论知识有较高的要求。微软DirectX 9.0 SDK(Software Development Kit)包是一组Windows平台上的多媒体API(Application Programming Interface),对基础的数学几何变换作了封装,通过其提供的开发接口可以极大的方便游戏开发,提高开发效率,可以让我们将时间集中在主要问题的研究上。本文主要研究内容分为如下三部分:第一部分讲述3D游戏编程所需数学基础知识及Direct3D基础知识,主要介绍向量和矩阵运算、Direct3D顶点、深度缓存等概念。第二部分设计游戏引擎框架,研究从图形建模、渲染管线、光栅化处理管线至最后图像显示全过程。重点阐述3D几何变换、剔除算法、纹理映射,几何模型设计。第三部分阐述游戏中人工智能常用算法,通过对A~*算法的研究提出并实现一种优化的A~*算法。对游戏引擎中网络通讯系统的实现作了详细研究,提出并实现服务迁移、人机切换。