论文部分内容阅读
近年来,随着计算机硬件技术的不断发展与完善,处理器在短短几年内由单核向双核、四核甚至80核不断进行增长,多核平台正逐步取代单核平台,成为今后处理器发展的主流方向。相对于多核处理器的迅猛发展,当前的软件业却没能同步地进行反馈,以至于大多数软件产品并没有充分地利用到硬件成倍增长的处理能力。
另一方面,随着测绘技术和测绘设备的不断发展与完善,场景数据的获取手段丰富多样、获取精度成倍提高,获取数据量呈TB级增长。伴随着三维图形学技术的不断发展、应用领域的不断推广,三维场景的渲染数据量也成倍地得以增长。针对如此大规模的海量三维场景数据,三维场景渲染系统的处理能力也需要成倍的得以增长。但当前的现状在于,三维软件虽然普遍采用了模型简化、场景组织、动态调度等策略来减少数据的处理量,但对于大规模的场景数据而言,当前系统未能充分利用现有多核硬件的并行化处理性能,现有的模型组织方法和场景渲染流程仍会遇到交互响应延时的问题。
因此,应基于当前多核处理能力的大幅提升,对当前软件处理方案进行全面改进,以实现三维场景渲染的高效性、实时性和逼真性。本论文即是针对如此现状提出了相应的解决方案:通过对三维场景数据的分类与组织进行研究,确定了大规模三维场景数据主要的来源为:大规模的几何数据和纹理数据;针对不同的数据使用不同的简化策略对其进行处理;在达到三维场景待处理数据最小化的目的后,对三维场景的渲染策略进行了改进;最后,使用论文中提到的方法对三维串行化渲染系统Dingle进行了改进,实现了高效的并行化三维渲染系统。
论文的主要工作如下:
1)对当前多核硬件发展与使用现状进行了研究,得出当前多核硬件使用已全面普及,应该改进现有软件架构以充分利用多核并行化处理性能的研究方向。其次,对大规模三维场景渲染现状进行了研究,结论为当前三维场景数据量越来越庞大,呈海量级增长,但数据的组织与渲染方法却未能全面地得以提高。因此,为适应大数据量的三维场景渲染环境,实现实时、高效的渲染效率,需要借助多核硬件并行化处理性能,改进现有的场景组织和渲染方法。
2)针对海量化的大规模三维场景数据,提出了一种基于“空间数据库-数据集-类”的多层次表达数据模型,实现了空间数据几何信息、拓扑信息的统一表达,并进一步介绍了各类三维场景数据简化策略,特别针对当前纹理压缩技术中存在的不足,介绍了一种改进的DXT++纹理压缩技术,通过采取以上策略,实现了从原始数据级别对场景数据进行简化的目的。
3)针对当前串行化三维场景渲染效率低下的问题,介绍了基于后台场景加载线程的三维场景渲染策略;进一步针对三维海量化场景即使进行了各类简化处理后,仍然无法一次性将整体可视场景加载至内存中的问题,提出了基于垃圾回收机制的渲染策略;最后,为了进一步改善当前大规模场景渲染效率,充分利用多核硬件并行化性能,提出了一种基于多核硬件的自适应三维场景可视化渲染策略。
4)基于以上提出的各类三维场景组织与渲染关键技术,将原始的三维串行化渲染引擎Dingle改造为了并行化三维渲染引擎,不仅扩展了引擎的使用范围、还全面提升了渲染效率。具体工作包括:对Dingle系统核心组成模块进行了全面分析,明确了Dingle当前存在的问题:无法处理海量的三维场景数据、并行化渲染效率无法满足交互实时性需要。针对这些问题,提出了并行化Dingle系统总体设计方案,并对其功能模块进行了详细的设计。最后,通过性能测试验证了本论文实施方案的可行性,并提出了进一步优化性能的思路。