论文部分内容阅读
随着GPU运算能力和可编程性的大幅提高,GPU已经成为高性价比的并行计算协处理器,特别适于密集的、高并行的通用计算。越来越多的研究人员开始把各种基于CPU的密集计算引入到GPU上,利用GPU巨大的运算能力来加速计算过程。光线跟踪算法作为生成真实感图像的重要方法,广泛应用在电影娱乐等行业。但是光线跟踪算法是典型的密集、并行的算法。因此,利用GPU来加速光线跟踪算法成为一种趋势。
本文讨论了如何在支持CUDA平台的GPU上实现经典光线跟踪算法,在此基础上改进部分算法,提高光线跟踪渲染速度。本文的主要内容如下:
1)研究了光线跟踪的基本原理和流程,分析基于SIMD架构的GPU的优势。使用KD树加速结构,在支持CUDA的GPU上构建了光线跟踪模型系统。
2)分析光线跟踪过程中主要部件的组合方式及对GPU资源的占用,选择合适的内核尺寸和网格设置,优化光线跟踪中各种数据在GPU内存中的分配,以最大程度地利用GPU资源。
3)分析KD树构建过程中用于寻找最佳分割平面的SAH算法,提出了基于最小点二次探测的SAH算法,使获得的分割平面更接近于最优的位置。
4)分析几种基于GPU的KD树遍历方法的优缺点,通过改进KD树结构,提出基于GPU的线索KD树算法,提高了光线跟踪的遍历求交的速度,从而提高光线跟踪渲染速度。