摘要:
地形是一种常见的三维场景,也是三维场景的重要组成部分,地形数据的实时绘制在PC端已经有大量研究,但如何实现移动端大规模地形的实时绘制是一个新问题。目前,移动端设备硬件性能发展迅速,但在移动端地形绘制领域大都是在远程模式下进行,在本地绘制模式下的地形绘制研究较少。在移动端设备资源有限情况下,实现本地绘制模式下的地形绘制算法是本文的主要研究内容。在地形数据加载阶段,为了减少I/O操作降低数据处理时间以提高绘制效率,首先将较大部分地形数据解压至移动端内存中,然后根据Geometry Clipmap算法思想构造出地形数据的LOD结构,地形数据按照四叉树结构进行组织;视点位置改变后根据视点所在LOD的层次、位置结合L型更新方式重构出地形数据,利用顶点缓冲区中的顶点索引绘制出不同的地形效果,充分利用移动终端硬件,提高绘制效率。在移动端交互方面,根据移动端手势操作习惯结合传感器设计出不同的交互效果,实现了绘制地形时的旋转、移动等操作。基于以上策略,本文基于Android系统,结合OpenGL ES 2.0、NDK开发完成了面向Android的地形数据绘制系统,并分别在三星N9100手机和三星P600平板电脑上对Puget Sound地形和USGS网站提供的新疆区域地形进行了测试,基本满足最初期望的绘制效果,实现了基于多分辨率的地形绘制,提高了本地绘制模式下的绘制效率。
展开