● 摘要
实时三维地形引擎一直是网络游戏中的重要组成部分,它在地理信息系统和虚拟现实系统里也有重要的作用。大规模地形渲染需要解决两个主要问题:一是实现超大范围的场景显示,二是保证系统运行的高效性。通过分析公司内原有系统的不足,对原地形算法改进和优化,采用新的渲染方法,考虑到下一个游戏项目的需要,研制开发出新的三维地形引擎。该引擎采用基于四叉树的LOD(Level Of Detail)算法,通过多块地形拼接实现了超大范围室外场景的显示。为了提高地形引擎在显示大规模室外场景时的效率,从LOD算法的评价系统和场景裁减两个方面优化引擎算法。在渲染方法上,采用通过地形顶点颜色的透明度分量来进行纹理混合,对原有的纹理混合方法进行改进,提高了渲染效率,并降低了资源占用。在功能性方面,实现一个地图编辑器,可以完成三维地形网格的建模和地表贴图的设置。地图文件采用了微软的X文件格式,提高了读写效率和不同版本地图文件的兼容性。最后尝试将物理引擎做为一个子系统集成到地形系统中,增强场景中物体碰撞的效果。该系统的效率相对原有系统提高很大,可以显示大规模的室外场景。采用动态链接库和静态链接库的软件构造方法使得引擎很容易应用到第三方游戏程序中。地图编辑器功能比较完备,提高了制作地形场景的效率。另外,该系统还存在地表纹理混合效果不够精致和地形切换稍有停顿的问题,会在下一步开发中加以改善。