论文部分内容阅读
大规模复杂场景实时渲染的应用领域一直以来都比较广泛,无论是在在线交互娱乐、地理信息研究还是军事应用领域都有着非常重要的应用,在逐步信息化的今天,工农业生产的各个领域都或多或少地需要大规模图形渲染技术的支持,同时对场景渲染的质量和速度也都有了越来越高的要求,这也就是为什么一直以来这一领域的研究都比较热。大规模复杂场景实时渲染面临的最大最主要的问题就是海量的数据和有限的计算机计算资源之间的矛盾,主要涉及到海量数据处理和大规模渲染的问题。海量数据指的是渲染场景数据量上的庞大,这些数据往往无法全部一次性放在计算机内存中,所以就需要一个高效的策略在硬盘和内存之间建立一种数据加载和释放。然后数据进来之后,如何将他们组织起来,既能满足渲染的实时性,又能保证渲染的误差要求,以及在这个过程中产生的一些相关问题,比如裂缝、光照、纹理等,这个问题也是这个领域一直要解决的最主要的问题,前人绝大多数的做法是将地理数据用二叉树或者四叉树又或者其它类似结构分层组织,这样做在频繁修改顶点缓冲的同时消耗了大量的CPU计算,使得CPU负担很重。本文要解决的就是在传统大规模渲染中CPU负担过重的问题。本文的研究目标和内容是将放在利用GPU(图形处理器)对地形数据渲染进行加速,通过研究GPU处理数据的特性,找出一种利用GPU计算特性的渲染技术。具体研究工作是在GeoClipmap的基础上对一种基于GPU算法的实现、改进,并做出了一个渲染的软件系统。在这个系统中,利用GPU技术,把以前传统做法的大量CPU计算,比如数据的层次结构计算、精细层次混合计算、裂缝的消除等在大规模地形渲染中的关键环节都转移到GPU上来进行,应用了新的数据结构和组织形式,并在前人基础上在裂缝消除和光照方面做了一定的改进,提高了效率。本文的创新和贡献主要是将前人的GeoClipmap的技术做了裂缝消除方面的改进,使得这个GPU算法更加高效。同时这个GPU算法也大大减轻了传统CPU的负担。在本文的研究工作中,通过仔细研究GPU地形渲染算法,同时加以改进,设计并实现了一个渲染的系统,最后文章给出的实验结果也表明本文所论述的算法在不降低图像质量的前提下确实减轻了CPU的负担。在本文接下来的章节中,首先会介绍一下前人对于大规模地形渲染的一些相关技术,然后介绍GeoClipmap算法和相应的GPU实现算法,接着阐述本文针对这个GPU算法的改进,最后给出实验结果、结论以及对将来工作的进一步展望。