基于gpu加速的体数据动态剖切方法

文档序号:6337862阅读:312来源:国知局
专利名称:基于gpu加速的体数据动态剖切方法
技术领域
本发明涉及一种体数据实时剖切方法,特别是一种基于GPU加速的动态剖切方 法,属于体数据的剖切与可视化领域。
背景技术
随着当前硬件设备的更新换代,尤其是计算机图形硬件性能的飞速提升,利用高 性能的图形设备进行交互,使得高质量的三维体数据可视化成为可能。三维可视化技术虽 然已经渗透到各行各业,在医学、地质学、气象学,空间物体学、化学,显微摄影学,计算流体 力学和有限元分析等诸多领域都有不同程度的应用。然而,体视化技术目前还面临着许多 问题,其中最主要的是体数据显示速度慢,不能进行实时动态显示。基于体视化技术所面临 的这样一个现实,体数据规则庞大,显示和剖切所需的计算量都非常大。如果不从硬件角度 来解决这个问题,那么只能在牺牲速度或者显示质量之间做出选择。于是,人们便求助于硬 件,利用由硬件实现的三维纹理映射功能来进行三维体数据的加速体绘制。体视化的任务 和目的是把三维体数据中蕴藏的信息挖掘出来,并显示在人们面前。如何挖掘并显示体数 据内部的有用信息就要涉及到体数据的剖切技术。

发明内容
本发明目的在于克服上述现有技术的不足而提供一种基于GPU(GraphiCS Progressing Uint即可编程图形处理器)加速的体数据的实时剖切方法,该实时剖切方法 可以动态地对三维体数据进行剖切,大大提高了剖切与显示的速度,达到实时显示的效果, 提高图形真实感。实现本发明目的所采用的技术方案是一种基于GPU加速的体数据动态剖切方法 包括以下步骤(1)首先读取数据,再对体数据进行预处理,数据的预处理是通过一定的间隔在数 值上取平均值,对数据进行抽稀。(2)将体数据的属性值映射成对应的颜色值;(3)根据视点与模型的距离确定要加载的数据块体和数据块的分辨率并剔除不可 见的块体;(4)将三维体数据读入系统内存后,定义为三维纹理,然后装入纹理内存;(5)构建代理几何体;(6)纹理坐标数据的填充;(7)利用GPU对每个采样点进行插值;(8)利用GPU实现光照计算;(9)利用GPU实现纹理重采样;(10)通过交互操作或者参数设置的方法得到剖切的参数;(11)由上一步得到的剖切参数,根据场景中相机的位置可以获得观察视角,然后根据视角重新构建待剖切模型的代理几何体,并实时地计算纹理坐标变换参数,再利用纹 理映射进行体绘制,完成剖切的过程。本发明对体数据剖切的方法,是利用基于GPU加速的动态剖切方法,通过对体数 据的插值预处理,将体数据属性值以某种映射关系映射成颜色值,然后装载到体纹理,通过 纹理坐标变化进行实时计算,然后通过GPU加速实现纹理重采样技术,最终将像素值映射 到模型上。本发明由硬件实现的三维纹理映射功能来进行三维体数据的直接体绘制,这里的 硬件指的是在纹理空间中实现重采样的插值运算及具有不透明度值的图像合成等均由硬 件完成。利用三维纹理硬件的加速绘制方法,即借助纹理映射功能,通过动态地修改纹理几 何体的纹理坐标并进行实时的计算,动态地呈现剖切后的三维图形效果。本发明通过基于 GPU加速的体纹理绘制方法对三维体数据进行实时剖切,使三维体数据的剖切达到实时动 态显示的效果。本发明具有如下显著的优点(1)基于三维体纹理映射功能可以由硬件实现,通过GPU插值可以大大加速数据 的处理速度,达到实时显示的效果。(2)本发明生成代理几何体的算法由CPU执行,其结果是产生一系列多边形代理 几何体的顶点及各顶点相应的纹理坐标,然后渲染所生成的代理几何体,实现体绘制的目 的,该过程由GPU执行完成。通过代理几何体技术可以大大提高图象的显示效果,其它的方 法都不能达到同样的效果。(3)对体数据的剖切过程实时快速,效果真实感强。(4)对体数据属性值过滤也实时快速。(5)在剖切的过程中可以随时设置显示参数。(6)动态的剖切过程可以实时地观察到体数据的剖面信息。


图1为本发明方法的流程图。
具体实施例方式下面结合附图对本发明方法作进一步的说明。—种基于GPU加速的体数据动态剖切方法包括以下步骤(1)数据的读取与处理。首先读取数据,再对体数据进行预处理。数据的预处理是 通过一定的间隔在数值上取平均值,对数据进行抽稀的过程。(2)将体数据的属性值映射成颜色值。通过映射关系,如c = P (X),将数据的属 性值映射成对应的颜色值。(3)加载数据。首先是确定加载的数据块,根据视点与模型的距离确定要加载的数 据块体和数据块的分辨率;确定之后还需要剔除不可见的块体。(4)将体数据装入纹理内存。将三维体数据读入系统内存后,定义为三维纹理,然 后装入纹理内存,由于纹理内存有限,大型体数据被分成几个三维纹理块。(5)构建代理几何体。生成代理几何体的目的是为了确定体数据中重采样位置,并由GPU执行三维空间变换、光栅化和纹理映射等操作,最后合成所有代理几何体的颜色和 不透明度值,生成绘制图像。获得观察视角后,即当视线方向确定后,纹理空间与对象空间 的映射关系也得到确定,再根据采样密度定义一系列相互平行的等间距采样多边形,即构 建了代理几何体。本发明基于GPU加速的体数据动态剖切方法所采用的代理几何体垂直于 体数据的某一个坐标轴方向,而且当体数据空间旋转时,代理几何体始终保持与视口最接 近的坐标轴垂直的方向。生成代理几何体的具体步骤如下(5-1)根据模型视距阵将体数据转换到视空间,并计算此时包围盒8个顶点中ζ坐 标的最小值和最大值;(5-2)根据某固定采样间距计算最大最小ζ值之间的切片个数,然后按照从后向 前的顺序,也即是ζ值从小到大的顺序依次处理每个切片;(5-3)每次视线方向发生改变时,转到步骤(5-1)重新生成多边形代理几何体。由图1可知在构建代理几何体时,还需要交互获取剖切参数,进而获取剖切视角。 这是因为本发明是基于GPU加速的体数据动态剖切方法,根据交互的过程中是否改变剖切 参数,即剖切视角是否发生改变,若剖切视角改变了,则重新生成代理几何体。也就是说,构 建代理几何体时首先要判断剖切视角是否发生改变。(6)纹理坐标数据的填充。在刚开始显示体数据时,就直接填充体数据的纹理坐 标,在接下来的动态剖切过程中,则是实时地计算纹理坐标变换,然后再对纹理坐标数据进 行填充。接下来的步骤就是利用GPU来实现对采样点进行插值、光照计算,并通过纹理映 射实现对体数据的重采样。(7) GPU插值。GPU插值是利用GPU对每个采样点进行插值。(8)利用GPU实现光照计算。在将模型绘制为最终图像之前,需要加入光照计算。 光照计算描述了光源照射到物体上的综合表现,与光源位置和强度、物体的材质属性和几 何特征、视点位置等参数有关。体绘制中光照模型包括三个部分环境光(ambient)、漫反 射光(diffuse)和镜面高光(specular)。Iphong = S^ambient+b*Idiffuse+c*Ispecular(a+b+c = 1)(9)利用GPU实现纹理重采样。由上面构建的代理几何体,借助纹理映射功能,按 顺序绘制代理几何体,确定重采样的位置,并执行纹理映射,实现对体数据的重采样。以上的所有步骤,完成了体数据的可视化过程。对体数据进行实时剖切由以下的 步骤进入一个循环过程,即根据交互过程中改变了剖切参数,获取新的剖切视角,再重新生 成代理几何体,进行体数据绘制(10)获取剖切的参数。可以通过交互操作或者参数设置的方法得到剖切的参数, 包括场景中相机的位置和剖切面参数等。(11)获取观察视角。由上一步得到的剖切参数,根据场景中相机的位置可以获得 观察视角。然后根据视角重新构建待剖切模型的代理几何体,并实时地计算纹理坐标变换 参数,再利用纹理映射进行体绘制,完成剖切的过程。以上的所有步骤即实现了对体数据的一个剖切过程,在交互的过程中动态地改变 剖切的参数,将重新进行剖切的过程,即实现了对体数据的连续、实时剖切。
权利要求
1.一种基于GPU加速的体数据动态剖切方法,其特征在于包括以下步骤(1)体数据的读取与预处理;(2)将体数据的属性值映射成对应的颜色值;(3)根据视点与模型的距离确定要加载的数据块体和数据块的分辨率,并剔除不可见 的块体;(4)将三维体数据读入系统内存后,定义为三维纹理,然后装入纹理内存;(5)构建代理几何体;(6)纹理坐标数据的填充;(7)利用GPU对每个采样点进行插值;(8)利用GPU实现光照计算;(9)利用GPU实现纹理重采样,由上面构建的代理几何体,借助纹理映射按顺序绘制代 理几何体,确定重采样的位置,并执行纹理映射,实现对体数据的重采样;(10)通过交互操作或者参数设置的方法得到剖切的参数;(11)由上一步得到的剖切参数,根据场景中相机的位置获得观察视角,然后根据视角 重新构建待剖切模型的代理几何体,并实时地计算纹理坐标变换参数,再利用纹理映射进 行体绘制,完成剖切的过程。
2.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于步骤⑴中 对体数据进行预处理是通过一定的间隔在数值上取平均值,对数据进行抽稀。
3.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于代理几何 体是在获得观察视角后,即当视线方向确定后,纹理空间与对象空间的映射关系也得到确 定,再根据采样密度定义一系列相互平行的等间距采样多边形。
4.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于根据交互 的过程中是否改变剖切参数,即剖切视角是否发生改变,确定是否重新生成代理几何体,若 剖切视角改变了,则重新生成代理几何体。
5.根据权利要求1或3或4所述基于GPU加速的体数据动态剖切方法,其特征在于 生成代理几何体的具体步骤如下(5-1)根据模型视距阵将体数据转换到视空间,并计算此时包围盒8个顶点中ζ坐标的 最小值和最大值;(5-2)根据某固定采样间距计算最大最小ζ值之间的切片个数,然后按照从后向前的 顺序,也即是ζ值从小到大的顺序依次处理每个切片;(5-3)每次视线方向发生改变时,转到步骤(5-1)重新生成多边形代理几何体。
6.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于步骤(6)中 在刚开始显示体数据时,就直接填充体数据的纹理坐标,在接下来的动态剖切过程中,则实 时地计算纹理坐标变换,然后再对纹理坐标数据进行填充。
7.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于步骤⑶的 体绘制中光照模型包括环境光、漫反射光和镜面高光,则Iph。ng = a*I环境光镜 面髙光,其中a+b+c =1。
全文摘要
本发明公开了一种基于GPU加速的体数据动态剖切方法,该方法是基于体纹理加速绘制的,即由硬件实现的三维纹理映射功能来进行三维体数据的直接体绘制,这里的硬件指的是在纹理空间中实现重采样的插值运算及具有不透明度值的图像合成等均由硬件完成。利用三维纹理硬件的加速绘制方法,即借助纹理映射功能,通过动态地修改纹理几何体的纹理坐标并进行实时的计算,动态地呈现剖切后的三维图形效果。本发明通过基于GPU加速的体纹理绘制方法对三维体数据进行实时剖切,使三维体数据的剖切达到实时动态显示的效果。
文档编号G06T15/08GK102074036SQ20101057601
公开日2011年5月25日 申请日期2010年12月7日 优先权日2010年12月7日
发明者冉秀桃, 刘修国, 张柱, 花卫华, 郑坤 申请人:中国地质大学(武汉)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1