论文部分内容阅读
本文研究面向大规模三维地形构建的高性能计算支撑技术。主要研究内容分为四个方面,具体内容和贡献包括:一、设计实现了一种GPU加速的大规模三维地形可视化框架MEGA,用于快速构建数据组织高效、渲染质量优良的离线三维地形模型。在MEGA框架中:1、提出了一种支持大规模数据高效存储和调度的地形多分辨率模型FMRM。FMRM的两级存储结构既实现了对地形全分辨率数据的统一划分存储,又能在地表特征表达的基础上对地形存储模型建立数据分块索引,构建相应多分辨率逻辑结构。解决了传统地形金字塔多模型存在的数据冗余及存储和调度低效的问题。2、提出了一种融合地表特征表示的嵌套几何误差度量算法SFNE。引入粗糙度计算表达地表特征,依据地表特征建立不同地形分辨率层次间节点误差的依赖关系,在保证几何误差单调传递的基础上实现对地形模型多分辨率层次分级过程的控制;算法通过计算逼真度来约束模型化简过程,避免地形模型的失真。实验结果显示SFNE误差度量在地形化简的速率和绘制质量之间寻求了相对理想的平衡。3、实现一种基于顶点过渡权值的视觉平滑处理方法。基于Geomorphing的基本思想,整体考虑不同地形分辨率层次之间的平滑过渡和相邻地形块边界的分辨率等级关系,为模型顶点实时分配时间和空间过渡权值,保证在地形块绘制过程中不同分辨率等级之间以及不同地形块间的平滑过渡。4、设计实现了一种基于GPU RayCasting的快速地形渲染算法SRCaster。算法只对屏幕空间里节点评价函数选定的地形节点执行光线投射,进行离散遍历,遍历终止的条件是获取光线与地形模型某高程采样点的交点。简化了已有的光线投射地形渲染方法对所有地形块执行相交测试的处理,又能利用邻接像素之间的相关性进行图形硬件加速。对比实验表明SRCaster渲染的实时性能优势显著。二、研究了基于CPU/GPU异构协同加速的大规模地形数据高性能编码方法,以满足在线实时构建大规模三维地形的需求。其中:1、提出了基于提升小波机制的地形多分辨率模型构建方法。建立地形数据的小波变换模型来映射地形构网的细化和简化操作;通过提升小波变换分别建立数字高程和正射影像的多分辨率四叉树,并将量化小波系数存储在四叉树节点中,保证小波逆变换的正确性。2、设计实现了基于CUDA的地形数据并行混合熵编码。首先实现并行游程编码器对量化稀疏小波系数进行压缩,进而采用并行霍夫曼编码器对游程编码后的数据进一步压缩。混合熵编码后地形数据组织成多条数据流层进递交给解码和渲染进程。实验显示该方法在压缩比、信噪比和编解码吞吐量方面优势明显。3、实现了基于CUDA的稀疏矩阵向量乘算法及优化策略,解决了解码端输出的地形数据流在递交可视化处理时,大量的访存密集型SPM×V运算对地形可视化造成的实时性能下降。重点从数据分布优化和负载均衡方面考虑基于CUDA的SPM×V算法的优化策略,包括线程划分优化、数据复用优化、数据访问优化等。实验显示该算法及优化策略能显著改善地形渲染及交互处理的实时性能。三、为增强地形可视化场景的视觉逼真程度,研究地上自然景观的真实感模拟。以三维动态云为例,研究了基于通用多核CPU加速的地上自然景观建模方法。其中:1、设计并实现了基于细胞自动机的三维动态云模拟方法。实现了对云的运动特征和生长、消散的演进特性逼真模拟,构建了基于多重前向散射的云粒子光照模型增强了云模型的视觉着色真实感。采用多核多线程技术对云模拟过程进行加速和优化,将云的建模运算(CPU)和渲染处理(GPU)分开,避免了经典云模拟方法建模和渲染都依赖GPU实现所带来的整体性能缺失。2、提出了一种多线程加速的细胞自动机多近邻单元状态查询算法M3NSQ,解决了云模拟过程中,对建模空间内细胞及其多近邻单元状态的持续并发查询所导致的云模拟进程阻塞问题。算法将查询分为预处理和查询执行两个阶段,特别设计了查询表、格网索引、查询缓存和近邻对象缓存等关键数据结构,引入了查询更新排序和时间局部性优化方法,采用了合理的数据划分和线程调度,实现了高性能并发查询处理。四、设计实现了支持大规模三维地形构建及应用的框架系统VWBuilder。VWBuilder集成了本文的研究内容,并提供二次开发接口,既能够为第三方应用提供预先构建的离线大规模三维地形模型,也能够作为地形构建模块集成在其它应用中,提供实时在线式大规模三维地形构建功能。给出了基于VWBuilder的几个应用示例,验证了本文研究内容的效用性。