论文部分内容阅读
体光照技术在可视化和影视特效中有着广泛的应用。不同于一般的体绘制,体光照算法是一种计算体数据全局光照的技术,能够模拟光在体数据中真实散射的情况。通过该技术可以模拟基于物理的光线传播,包括诸如软、硬阴影,环境闭塞,以及蒙特卡洛全局光照算法模拟半透明和多重散射。更加自然的光照效果有助于取得更加真实的渲染结果,也有助于提高可视化结果可理解性。 近年来,有很多相关的论文发表在体光照领域。但是,这些论文中提到的算法都有一些不可避免的缺陷。大部分方法都非常耗时,且只能够在局部或者特定平面上模拟出光的真实散射结果。在现有技术的基础上,本文提出了一种基于Hash桶的体光照加速算法,取得的创新性研究成果可归纳如下: (1)提出了体数据自适应Hash桶代理结构真实的体数据一般来源于对连续体对象的离散采样,因此,体数据往往具备空间一致性和数据一致性等特性。这意味着空间上相近的体素往往具有相似的数据。基于利用这一特性,本文建立了一个自适应的Hash桶链表作为体数据的粗糙尺度的数据代理。通过使用Hash桶的能量代替实际体素,极大的简化了体光照累积能量的过程。 (2)提出了全局Monte-Carlo能量重要性采样算法体光照领域经典的Monte-Carlo重要性算法只考虑方向重要的影响体素。但由于体素的重要性是由体数据本身相函数和体素自身能量共同决定,仅考虑方向重要性不足以使算法快速收敛到有效解。本文在体光照的多次光照迭代计算中,首先快速构建Hash桶,再通过Hash桶代理对各方向的能量进行快速估计得到采样先验知识,再由该知识渐进引导Monte-Carlo能量重要性采样,使体光照迭代计算更快速的收敛到有效解。 (3)实现了基于GPU的高速体光照算法体绘制领域最常用的算法是基于GPU的体光线投射(RayCasting)算法。本文将体光照算法和GPU体光线投射算法完全结合,所有的数据计算都完全基于GPU-CUDA。实现了基于GPU的高速体光照算法,进一步的达到了加速的目的。 我们的实验显示,我们的算法能够显著的加速经典的体光照算法,并且能够产生具有高级光照和阴影效果的真实渲染结果。