论文部分内容阅读
游戏引擎是构建高性能游戏的基石。游戏引擎的研发需要直接利用到包括计算机图形学和人工智能在内的多个学科的研究成果。而游戏引擎所能提供的通用且高效的图形处理能力也逐渐被诸如计算机辅助设计和虚拟现实等应用领域重视和使用。 目前,我国大部分游戏市场被国外厂商所占据,而我国本土游戏产业,特别是游戏软件的研发仍处于起步阶段。所以,开发有自主知识产权,并且能够创造巨大经济效益的游戏引擎已成为我国信息产业发展的当务之急。 游戏引擎是一个庞大的有机体,本文将主要探讨游戏引擎的3D渲染技术。首先,本文概述了实现3D游戏渲染引擎的核心理论和技术,然后将其分为室外引擎和室内引擎两部分进行分析。在室外引擎部分,本文对主流的地形生成和渲染技术,比如实时优化自适应网格(ROAM)、几何贴图(GeoMipMap)和地形纹理技术(Terrain Texture)等进行了较深入的研究,并且提出了一些优化的实现方法。在室内引擎部分,本文讨论了关卡模型的载入、游戏对象管理和场景管理技术,这些技术包括二叉空间分割树(BSP Tree)、入口点(Portals)等等。接下来,本文介绍了场景真实化、动态光影技术和粒子系统等特效技术,并提出通过优化游戏引擎结构来提供一个可扩展的特效接口。最后,本文介绍了面向对象软件开发的原则和模式,阐述了面向对象方法在游戏引擎的设计与开发过程中的重要性,并基于该方法完成了一个游戏渲染引擎的设计和实现。 本文所有的理论研究和技术探讨都是建立在“希望给实际游戏引擎开发带来启示”这个目标之上的。本文实现了一个基于Microsoft DirectX的游戏渲染引擎,并在实现该引擎的过程中比较和研究了文中所阐述的这些技术在实际应用中的可行性与优劣。该引擎的设计还融入了面向对象的软件设计思想,从而极大程度的优化了引擎的架构,使得该引擎兼具高效性和通用性。