论文部分内容阅读
科学计算可视化广泛应用于医学、地质勘探、气象学、分子模型构造、计算流体力学、空间探测和有限元分析等领域。在众多科学计算可视化方法中,光线投射算法因其重建图像质量高而占据着重要的位置。但是传统的基于CPU的光线投射算法绘制速度较慢,限制了它的应用。因此探索如何提高光线投射体绘制的速度和质量,对于完善可视化理论、拓展体绘制的应用等都有重要的理论和实践意义。针对多步光线投射算法的不足,本文首先实现了一种基于GPU的单步光线投射算法,绘制包围盒前后面各一次即可得到投射光线的参数,只需一个片段程序就可以完成光线入射点和方向的生成、光线投射、光线终止(以及提前终止)的判断、颜色和阻光度的积累等。实验结果表明,该算法能大大减小光线投射过程的复杂性。为了提高绘制速度,本文提出了一种基于空间跳跃技术的加速算法,利用八叉树组织体数据,得到体数据的统计信息,绘制时依据当前传递函数跳过对重建图像无贡献的空体素,从而实现加速。实验结果表明,该算法能有效跳过体数据内部的空体素,显著提高内部包含大量空体素的体数据的绘制速度。基于空间跳跃技术的加速算法不能显著提高内部只包含少量空体素的体数据的绘制速度,而且需要额外生成两个纹理,占用了显存资源。为此,基于体数据分块的思想,从平衡顶点处理器和片段处理器负载的角度出发,提出了一种基于紧致包围盒的加速算法。该算法利用八叉树子分体数据,依据当前传递函数生成紧致包围盒从而排除对重建图像无贡献的空体素。实验结果表明,该算法能显著提高内部或外围包含空体素的体数据的绘制速度。在基本算法和加速算法的基础上,本文实现了几种高级算法。其中包括最大密度投影,离散等值面重建(多种着色模式)等,最后基于立方B样条滤波器实现了一种等值面曲率重建算法。实验结果表明,基于GPU的光线投射算法在实现高质量重建的同时也能达到实时交互的绘制速度。