论文部分内容阅读
在科学计算可视化和真实感图形学领域,体绘制算法目前已经成为针对体数据进行可视化和真实感绘制的标准方法。为了提高体绘制算法的效率和效果,体绘制硬件加速算法和体光照真实感绘制加速算法逐渐成为研究的热点和难点。
本文以三维规则体网格数据作为研究对象,研究基于多尺度分析的体绘制加速算法,分析和利用体数据在空间域和数值域上的一致性,通过预计算得到相应加速结构来提高运行时体绘制的计算效率。具体研究内容包括移动立方体算法的硬件加速、体光线投射算法的硬件加速、复杂体光源真实感绘制的加速算法等,取得了以下研究成果:
1.提出了一种基于区间树硬件加速索引的移动立方体算法
为了充分利用GPU的海量线程并行架构的计算能力,提高等值面抽取和可视化的效率,本文提出了一种基于区间树硬件加速索引的移动立方体算法。该算法在预计算阶段通过对体数据进行空间域的均匀区域分割生成单一尺度的子区域列表,然后并行地对各子区域进行数值域多尺度分析构建区间树索引,作为移动立方体算法的加速索引结构存储到GPU的显存中。在实时运行阶段根据用户给定的阈值,通过该索引并行地搜索活跃体素,并生成活跃体素的多级变址索引;然后分配线程处理活跃体素,抽取并绘制等值面。该算法完全运行在GPU上,充分利用了GPU的并行处理能力,将文中算法应用到不同体数据上的实验结果表明,其能够显著地提高现有移动立方体算法的效率;与现有的GPU基准算法相比,最高能达到4~10倍的加速比。
2.提出了一种基于多尺度数据流归并的体绘制硬件加速算法
区间树硬件加速索引通过对体数据进行数值域的多尺度分析和组织,充分利用了移动立方体算法的访存在数值域上的一致性。然而优化和加速基于GPU的体绘制算法,尤其是体光线投射算法,需要充分利用体数据在空间域和数值域上的多尺度一致性。为了同时加速移动立方体算法和体光线投射算法,必须通过多尺度分析以尽量小的空间复杂度开销生成以上两种算法的统一加速结构。本文通过对体数据进行多尺度分析生成双空间(物体空间和图像空间)绘制代理,对双空间绘制代理进行多尺度数据流归并能够快速剔除移动立方体算法中的不活跃体素以及体光线投射算法中的空白空间。实验结果表明该算法与已有的体光线投射算法相比,能达到2~3倍的加速;同时,与基于区间树硬件加速索引的移动立方体算法相比,有着接近的性能。
3.提出了一种复杂体光源真实感绘制的加速算法
由于传统的体绘制算法将体数据作为向视点投射能量的光源处理,仅仅计算其辐射到视点的能量,而无法快速计算其辐射到场景其他表面的能量,所以体光源绘制缺乏真实感。为此,本文研究基于多尺度方差分析的体光源重要性采样算法,该算法将体光源进行基于方差的多尺度聚合生成聚类光源。在蒙特卡洛光线追踪时,用聚类光源取代经典的虚拟点光源,作为重要性采样时权重更新的最小单位。当光线与场景物体相交时,发射BRDF重要性光线更新聚类光源的权重,对更新权重后的聚类光源进行重要性采样即可实现对体光源和场景物体BRDF的乘积重要性采样。通过计算体光源辐射到不同反射性质的表面上的能量,能够加强体光源场景绘制的真实感。实验表明在保证真实感绘制效果的前提条件下,该算法的绘制效率比已有的基于虚拟点光源采样的真实感体绘制算法有大幅度的提高;在同等绘制时间下,该算法的绘制误差只有基于虚拟点光源采样的真实感体绘制算法的50%~60%左右。