论文部分内容阅读
体绘制是体数据可视化的主要方法之一,是科学计算可视化的研究热点。体绘制的目的是将各种体数据以图像的方式表现出来,以方便用户以直观的方式获取信息。体数据的常见来源有科学计算数据、地震采样数据、医学数据等。随着生成体数据的规模越来越大,体绘制技术遇到很多新的挑战。并行绘制技术与多分辨率绘制技术(LOD)是大规模体数据绘制的两种重要方法,本文将这两种方法结合起来。采用多分辨率层次结构(LOD)管理原始数据集能够提供用户不同的精度数据以适应不同场合的需要,当用户概览数据时可以采用低分辨率数据,而需要挖掘具体信息时则选择高分辨率数据。分辨率层次结构的灵活性能够很好地均衡绘制速度和绘制质量,提高了可视化效率。本文采用sort-last并行绘制方法,在数据空间对数据集进行分割后分配给各个集群节点并行处理,每个集群节点绘制完后再把中间图像合成最终的图像。本文采取一系列技术提高绘制效率:采用内存映射文件技术加快数据从磁盘读取;在绘制过程中,采用计算代理几何模板的方法,只对其中一个数据块模板计算代理几何,其他数据块的代理几何只需要进行一定的平移即可得到,这样减少了CPU的计算时间;在图像的合成阶段,采用binary-swap技术并行的对图像进行合成。对每个绘制节点,我们采用三个进程并行工作,让不同硬件资源的利用并行化:主线程负责绘制,一个进程负责从磁盘读取数据,另外一个进程负责图像合成以及网络传输。将LOD技术与并行绘制相结合,会产生各个集群绘制节点负载不平衡的问题,影响系统的整体性能。本文为了解决这个问题使用kd树数据结构,根据上一帧的绘制时间动态地分布数据,很好的达到了动态负载平衡效果。本文在上述算法的基础上设计实现了一个高效率的并行体绘制平台。对虚拟人生理切片数据的实验结果表明,平台对于大规模体数据绘制达到一定的交互水平,能够获得高精度的绘制图像并显示在高分辨率多屏拼接系统上。