论文部分内容阅读
科学研究日益深入,科学探测仪器、计算机的性能和精度不断提高,这些都为可视化计算带来了急剧增长的数据量。以往的研究主要集中在怎样基于一些高性能并行计算机或者高端专业图形工作站来实现大规模体数据的快速可视化,但存在成本高、扩展困难的问题。
近年来PC硬件系统发展迅速,特别是随着图形处理芯片(GPU)并行计算能力和可编程性的飞速发展为可视化提供了新的解决途径。2006年末,NVIDIA公司推出了具有统一渲染架构的GeForce8系列GPU,引入了计算统一设备架构(CUDA)的概念,使得GPU用于通用计算(GPGPU)的实现更加简单、高效。
本文通过分析和比较典型体绘制算法,选择有利于保留图像细节,能绘制高品质图像,但计算量巨大的光线投射法作为研究和实现对象。针对多遍光线投射法过程复杂和效率较低的问题,使用离屏渲染技术,实现了一种基于CUDA的单遍光线投射算法。在一个kernel内,首先计算投射光线与包围盒的相交情况,以得到光线参数方程,然后沿着光线方向执行光线投射、光线终止判断以及颜色和阻光度累积等操作。以此算法为基础,实现了阻光度融合、等值面绘制、最大密度投影和X光线投影等多种绘制效果。经实验证明,该算法大大降低了光线投射过程的复杂性,提高了效率,具有较好的可扩展性。
为了实现实时可交互的体绘制,同时确保绘制质量,本文基于CUDA的单遍光线投射算法,提出并实现了一种基于八叉树的空间跳跃加速算法。该算法对于显存容纳不下的体数据,采用了数据分块的纹理动态加载方法,以实现单机上GB级数据的体绘制。算法利用八叉树结构组织体数据,并统计叶子节点包围盒内数据的特征信息,在绘制时依据当前传递函数的阻光度跳过对重建图像无贡献的空体素,以加速光线投射。最后还实现了基于per-pixel的Phong光照模型的计算,以提高渲染质量。实验结果表明,该算法能较好的利用GPU的高性能并行计算能力,并提高包含大量空体素的体数据的绘制速度和质量。