论文部分内容阅读
随着图形硬件的飞速发展和虚拟现实系统、电影游戏制作等领域对高真实感图片的需求增加,关于高性能图形绘制技术的研究变得更加重要和迫切。高性能的图形绘制要求在保证绘制质量的前提下,提高绘制的速度。使用光线跟踪技术来生成高质量的图片需要进行大量的可见性计算,借助有效的加速结构可以明显减少计算量,降低场景绘制的复杂性,缩短绘制的过程。高性能的图形绘制对加速结构的质量、构造和访问速度都提出了更高的要求,加大了加速结构的设计难度。
本文主要从两个角度深入研究面向高性能图形绘制的加速结构的有效设计方法:一方面,研究高质量加速结构的快速并行构造方法和高效遍历方法,尤其是解决如何在GPU(GraphicsProcessUnit)并行计算架构上有效地处理算法的非相似性计算问题和不规则动态计算问题。另一方面,改进现有的图形绘制算法,对一些高级真实感图形效果的绘制,根据它们的结构特点以及对加速结构的影响,设计专门的加速结构,降低计算的复杂度,以进行更加有效的绘制。
具体而言,本文从高质量加速结构的并行构造与高效遍历方法、对动态场景的支持、对二级光线追踪效果的支持以及对运动模糊效果的支持四个方面深入研究加速结构的设计方法,主要贡献包括:
提出了一个新的加速结构MKD(Multi-KD)树,从构造速度和访问速度两方面解决了现有层次结构在GPU架构上执行所存在的问题。设计了多维度SAH(surfaceareaheuristic)并行构造方法,快速构造高质量的MKD树。设计了MKD树的快速遍历算法,通过一种渐进式有序组合的方法,实现高效的有序访问,并通过光线包的自适应组织方法,动态调整数据处理的方式,维持计算的相似性。另外,设计了有效的队列通信机制,实现计算任务在各个处理核之间的均衡分配。
提出了对层次包围盒BVH(boundingvolumehierarchies)不规则数据结构的分阶段快速并行构造方法,实现对动态场景的快速光线跟踪计算。设计了基于GPU并行架构的特点,使用不同的并行计算粒度,分别在构造初期、构造中期及构造后期进行快速而有效的并行构造的方法。
提出了面向二级光线的加速结构遍历方法,有效减轻了二级光线在遍历过程中可能出现的动态不规则执行行为对计算和访存效率的影响。设计了以数据驱动的方式来合理调度线程的执行方法和动态的结点访问策略,结合GPU架构的存储层次结构特点,从减少访存次数以及维持光线之间相似性的角度出发,对数据进行重新组织,挖掘潜在的并行性,优化带宽的使用。
提出了一种新的加速结构MBBVH以及相应的遍历方法,用来加速含有大量不规则运动行为面片的场景中运动模糊效果的绘制。提出了面向运动模糊效果绘制的运动行为分类方法,将场景中面片的运动行为根据移动向量的特点分为规则运动和不规则运动两类。并基于此,在构造过程中追踪具有不规则运动行为的面片,在遍历过程中,进行动态的调整计算,从而维持加速结构的高效性。为了控制调整计算的开销,设计了基于时间维度的分割花费模型,可以进行基于时间特征的结点构造与遍历;以及两种评估策略,可以自适应地在遍历过程中实现线性插值与调整计算两种处理方式的自动切换。另外,还对场景中可能存在的形状较大或者较长的不规则面片进行了特别的处理,减少结点包围盒的重叠区域。