论文部分内容阅读
伴随着近年来我国航空航天技术的飞速发展,人们对遥感场景仿真可视化的渲染效果要求越来越高。光线追踪作为一种真实显示地物的技术,能以地物真实的三维场景为基础,通过模拟光源以及周围环境光在地物表面发生交互作用所产生的漫反射、镜面反射和散射、以及介质中产生的投射、折射、衰减等光学现象,实现物体阴影、场景消隐、水面波动等复杂的特效渲染。由于光线追踪综合考虑了各种环境因素,能够模拟光线在真实的物理世界中的传输,通过设定不同的颜色标识各个位置的能量状态,我们就能够以可视化的方式表现整个场景中所有电磁波--包括非可见光--所探测的场景,从而真实的反映出地物的辐射传输特性。结合光线追踪在地物真实结构再现以及辐射传输过程模拟方面独特的优势,光线追踪在遥感场景的应用自然越来越为人们所重视。然而在模拟大尺度、高精度遥感影像时,光线与地物的求交计算带来了大量的计算量,这不但从精度上而且从尺度上,都大大限制了光线追踪在遥感领域的应用。 本文首先简要的介绍了光线追踪算法中所运用的光照明模型、光线追踪算法的流程。针对光线追踪算法最主要的求交运算,研究并实现了光线与球体、圆柱面、三角面片等二次曲面的相交算法。选择对最常见的三角面片结构的求交过程进行优化:通过增加条件,预先判断光线是否与三角面片相交,进而避免由光线与物体不相交所产生的冗余计算,减少求交计算的耗时。 通过对均匀网格、层次包围盒、KD-tree等主流光线追踪加速结构的实现与分析,我们选取加速效率最好的KD-tree算法作为本文的场景加速结构。采用SAH算法作为构建KD-tree时最佳分割平面的选取方法,从而以最小的代价完成对KD-tree的构建。通过对文献的阅读以及大量的实验,我们选取8+1.3log(N)作为构建KD-tree的最大深度,并设置求交成本与遍历成本比为83:1作为本文系统中的相关参数,以提高系统KD-tree场景组织的效率。 根据GPU高度并行化的特点,依据GPU环境下的光线追踪算法以及CUDA编程方式的约束分析,对光线追踪算法进行了改进。设计并实现了一个 SIMT架构下的光线追踪渲染系统,较CPU环境下的渲染效率提高近8倍。为了进一步提高光线追踪算法中光线与物体求交测试的效率,采用KD-tree加速结构体对场景进行组织管理。对当前效果较好的GPU环境下的KD-tree进行了详细的比较,针对其中效率较好的Ropes算法进行了改进,减少了内存的读取,缓解了寄存器的压力,有效的降低了场景的渲染时间。