CN102074036A - 基于gpu加速的体数据动态剖切方法 - Google Patents
基于gpu加速的体数据动态剖切方法 Download PDFInfo
- Publication number
- CN102074036A CN102074036A CN 201010576011 CN201010576011A CN102074036A CN 102074036 A CN102074036 A CN 102074036A CN 201010576011 CN201010576011 CN 201010576011 CN 201010576011 A CN201010576011 A CN 201010576011A CN 102074036 A CN102074036 A CN 102074036A
- Authority
- CN
- China
- Prior art keywords
- texture
- volume data
- gpu
- data
- behalf
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于GPU加速的体数据动态剖切方法,该方法是基于体纹理加速绘制的,即由硬件实现的三维纹理映射功能来进行三维体数据的直接体绘制,这里的硬件指的是在纹理空间中实现重采样的插值运算及具有不透明度值的图像合成等均由硬件完成。利用三维纹理硬件的加速绘制方法,即借助纹理映射功能,通过动态地修改纹理几何体的纹理坐标并进行实时的计算,动态地呈现剖切后的三维图形效果。本发明通过基于GPU加速的体纹理绘制方法对三维体数据进行实时剖切,使三维体数据的剖切达到实时动态显示的效果。
Description
技术领域
本发明涉及一种体数据实时剖切方法,特别是一种基于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=ρ(x),将数据的属性值映射成对应的颜色值。
(3)加载数据。首先是确定加载的数据块,根据视点与模型的距离确定要加载的数据块体和数据块的分辨率;确定之后还需要剔除不可见的块体。
(4)将体数据装入纹理内存。将三维体数据读入系统内存后,定义为三维纹理,然后装入纹理内存,由于纹理内存有限,大型体数据被分成几个三维纹理块。
(5)构建代理几何体。生成代理几何体的目的是为了确定体数据中重采样位置,并由GPU执行三维空间变换、光栅化和纹理映射等操作,最后合成所有代理几何体的颜色和不透明度值,生成绘制图像。获得观察视角后,即当视线方向确定后,纹理空间与对象空间的映射关系也得到确定,再根据采样密度定义一系列相互平行的等间距采样多边形,即构建了代理几何体。本发明基于GPU加速的体数据动态剖切方法所采用的代理几何体垂直于体数据的某一个坐标轴方向,而且当体数据空间旋转时,代理几何体始终保持与视口最接近的坐标轴垂直的方向。生成代理几何体的具体步骤如下:
(5-1)根据模型视距阵将体数据转换到视空间,并计算此时包围盒8个顶点中z坐标的最小值和最大值;
(5-2)根据某固定采样间距计算最大最小z值之间的切片个数,然后按照从后向前的顺序,也即是z值从小到大的顺序依次处理每个切片;
(5-3)每次视线方向发生改变时,转到步骤(5-1)重新生成多边形代理几何体。
由图1可知在构建代理几何体时,还需要交互获取剖切参数,进而获取剖切视角。这是因为本发明是基于GPU加速的体数据动态剖切方法,根据交互的过程中是否改变剖切参数,即剖切视角是否发生改变,若剖切视角改变了,则重新生成代理几何体。也就是说,构建代理几何体时首先要判断剖切视角是否发生改变。
(6)纹理坐标数据的填充。在刚开始显示体数据时,就直接填充体数据的纹理坐标,在接下来的动态剖切过程中,则是实时地计算纹理坐标变换,然后再对纹理坐标数据进行填充。
接下来的步骤就是利用GPU来实现对采样点进行插值、光照计算,并通过纹理映射实现对体数据的重采样。
(7)GPU插值。GPU插值是利用GPU对每个采样点进行插值。
(8)利用GPU实现光照计算。在将模型绘制为最终图像之前,需要加入光照计算。光照计算描述了光源照射到物体上的综合表现,与光源位置和强度、物体的材质属性和几何特征、视点位置等参数有关。体绘制中光照模型包括三个部分:环境光(ambient)、漫反射光(diffuse)和镜面高光(specular)。
Iphong=a*Iambient+b*Idiffuse+c*Ispecular(a+b+c=1)
(9)利用GPU实现纹理重采样。由上面构建的代理几何体,借助纹理映射功能,按顺序绘制代理几何体,确定重采样的位置,并执行纹理映射,实现对体数据的重采样。
以上的所有步骤,完成了体数据的可视化过程。对体数据进行实时剖切由以下的步骤进入一个循环过程,即根据交互过程中改变了剖切参数,获取新的剖切视角,再重新生成代理几何体,进行体数据绘制:
(10)获取剖切的参数。可以通过交互操作或者参数设置的方法得到剖切的参数,包括场景中相机的位置和剖切面参数等。
(11)获取观察视角。由上一步得到的剖切参数,根据场景中相机的位置可以获得观察视角。然后根据视角重新构建待剖切模型的代理几何体,并实时地计算纹理坐标变换参数,再利用纹理映射进行体绘制,完成剖切的过程。
以上的所有步骤即实现了对体数据的一个剖切过程,在交互的过程中动态地改变剖切的参数,将重新进行剖切的过程,即实现了对体数据的连续、实时剖切。
Claims (7)
1.一种基于GPU加速的体数据动态剖切方法,其特征在于包括以下步骤:
(1)体数据的读取与预处理;
(2)将体数据的属性值映射成对应的颜色值;
(3)根据视点与模型的距离确定要加载的数据块体和数据块的分辨率,并剔除不可见的块体;
(4)将三维体数据读入系统内存后,定义为三维纹理,然后装入纹理内存;
(5)构建代理几何体;
(6)纹理坐标数据的填充;
(7)利用GPU对每个采样点进行插值;
(8)利用GPU实现光照计算;
(9)利用GPU实现纹理重采样,由上面构建的代理几何体,借助纹理映射按顺序绘制代理几何体,确定重采样的位置,并执行纹理映射,实现对体数据的重采样;
(10)通过交互操作或者参数设置的方法得到剖切的参数;
(11)由上一步得到的剖切参数,根据场景中相机的位置获得观察视角,然后根据视角重新构建待剖切模型的代理几何体,并实时地计算纹理坐标变换参数,再利用纹理映射进行体绘制,完成剖切的过程。
2.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于:步骤(1)中对体数据进行预处理是通过一定的间隔在数值上取平均值,对数据进行抽稀。
3.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于:代理几何体是在获得观察视角后,即当视线方向确定后,纹理空间与对象空间的映射关系也得到确定,再根据采样密度定义一系列相互平行的等间距采样多边形。
4.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于:根据交互的过程中是否改变剖切参数,即剖切视角是否发生改变,确定是否重新生成代理几何体,若剖切视角改变了,则重新生成代理几何体。
5.根据权利要求1或3或4所述基于GPU加速的体数据动态剖切方法,其特征在于:生成代理几何体的具体步骤如下:
(5-1)根据模型视距阵将体数据转换到视空间,并计算此时包围盒8个顶点中z坐标的最小值和最大值;
(5-2)根据某固定采样间距计算最大最小z值之间的切片个数,然后按照从后向前的顺序,也即是z值从小到大的顺序依次处理每个切片;
(5-3)每次视线方向发生改变时,转到步骤(5-1)重新生成多边形代理几何体。
6.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于:步骤(6)中在刚开始显示体数据时,就直接填充体数据的纹理坐标,在接下来的动态剖切过程中,则实时地计算纹理坐标变换,然后再对纹理坐标数据进行填充。
7.根据权利要求1所述基于GPU加速的体数据动态剖切方法,其特征在于:步骤(8)的体绘制中光照模型包括环境光、漫反射光和镜面高光,则Iphong=a*I环境光+b*I漫反射光+c*I镜面高光,其中a+b+c=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010576011 CN102074036B (zh) | 2010-12-07 | 2010-12-07 | 基于gpu加速的体数据动态剖切方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010576011 CN102074036B (zh) | 2010-12-07 | 2010-12-07 | 基于gpu加速的体数据动态剖切方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102074036A true CN102074036A (zh) | 2011-05-25 |
CN102074036B CN102074036B (zh) | 2013-01-09 |
Family
ID=44032565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010576011 Expired - Fee Related CN102074036B (zh) | 2010-12-07 | 2010-12-07 | 基于gpu加速的体数据动态剖切方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102074036B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364522A (zh) * | 2011-10-24 | 2012-02-29 | 中国地质大学(武汉) | 一种基于全球划分的大规模气象体数据绘制方法 |
CN111466954A (zh) * | 2020-05-25 | 2020-07-31 | 武汉中旗生物医疗电子有限公司 | 一种三维超声立体解剖图生成方法及装置 |
CN111951370A (zh) * | 2020-08-13 | 2020-11-17 | 武汉兆图科技有限公司 | 一种面向旋转扫描采集数据的直接体绘制方法 |
CN114708140A (zh) * | 2022-06-07 | 2022-07-05 | 中国电建集团华东勘测设计研究院有限公司 | 一种基于单元的数值计算模型实时交互剖切可视化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030228905A1 (en) * | 2002-06-07 | 2003-12-11 | Satoru Osako | Game system and game program |
CN101283913A (zh) * | 2008-05-30 | 2008-10-15 | 首都师范大学 | Ct图像重建的gpu加速方法 |
CN101593345A (zh) * | 2009-07-01 | 2009-12-02 | 电子科技大学 | 基于gpu加速的三维医学图像显示方法 |
CN101604453A (zh) * | 2009-07-08 | 2009-12-16 | 西安电子科技大学 | 基于分块策略的大规模数据场体绘制方法 |
CN101814193A (zh) * | 2010-03-09 | 2010-08-25 | 哈尔滨工业大学 | 基于gpu加速的实时三维心脏数据体绘制方法 |
-
2010
- 2010-12-07 CN CN 201010576011 patent/CN102074036B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030228905A1 (en) * | 2002-06-07 | 2003-12-11 | Satoru Osako | Game system and game program |
CN101283913A (zh) * | 2008-05-30 | 2008-10-15 | 首都师范大学 | Ct图像重建的gpu加速方法 |
CN101593345A (zh) * | 2009-07-01 | 2009-12-02 | 电子科技大学 | 基于gpu加速的三维医学图像显示方法 |
CN101604453A (zh) * | 2009-07-08 | 2009-12-16 | 西安电子科技大学 | 基于分块策略的大规模数据场体绘制方法 |
CN101814193A (zh) * | 2010-03-09 | 2010-08-25 | 哈尔滨工业大学 | 基于gpu加速的实时三维心脏数据体绘制方法 |
Non-Patent Citations (1)
Title |
---|
《无损检测》 20100110 杨涛,等 基于GPU的工业CT三维图像任意断面剖切算法 第32卷, 第01期 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364522A (zh) * | 2011-10-24 | 2012-02-29 | 中国地质大学(武汉) | 一种基于全球划分的大规模气象体数据绘制方法 |
CN102364522B (zh) * | 2011-10-24 | 2013-02-13 | 中国地质大学(武汉) | 一种基于全球划分的大规模气象体数据绘制方法 |
CN111466954A (zh) * | 2020-05-25 | 2020-07-31 | 武汉中旗生物医疗电子有限公司 | 一种三维超声立体解剖图生成方法及装置 |
CN111951370A (zh) * | 2020-08-13 | 2020-11-17 | 武汉兆图科技有限公司 | 一种面向旋转扫描采集数据的直接体绘制方法 |
CN114708140A (zh) * | 2022-06-07 | 2022-07-05 | 中国电建集团华东勘测设计研究院有限公司 | 一种基于单元的数值计算模型实时交互剖切可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102074036B (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111354062B (zh) | 一种多维空间数据渲染方法及装置 | |
CN112802169B (zh) | 一种三维地质模型实时剖切渲染方法 | |
US20080211810A1 (en) | Graphic rendering method and system comprising a graphic module | |
CN110111408B (zh) | 基于图形学的大场景快速求交方法 | |
CN101604453A (zh) | 基于分块策略的大规模数据场体绘制方法 | |
CN114219902A (zh) | 气象数据的体绘制渲染方法、装置和计算机设备 | |
US5455902A (en) | Method and apparatus for performing real-time computer animation | |
US20120229463A1 (en) | 3d image visual effect processing method | |
CN102074036B (zh) | 基于gpu加速的体数据动态剖切方法 | |
Noguera et al. | Volume rendering strategies on mobile devices | |
CN103761376A (zh) | 基于二维dxf文件格式的零件三维真实感显示方法 | |
CN110555234B (zh) | 一种Web端实时交互洪水演进仿真可视化方法 | |
CN109934893B (zh) | 几何体任意截面的显示方法、装置及电子设备 | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
CN103729878A (zh) | 一种基于wpf的三维图形实现方法及三维文字实现方法 | |
CN108875275B (zh) | 一种基于大规模流线的矢量场实时仿真方法及系统 | |
CN116758199A (zh) | 一种多层次tin地质模型的连续剖切面实时渲染封闭的方法 | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
CN111681307B (zh) | 一种应用于三维软件的动态三维坐标轴的实现方法 | |
CN113486416A (zh) | 一种3d建筑楼层分层的实现方法 | |
Qi | Computer aided design simulation of 3D garden landscape based on virtual reality | |
Lal | WebGL Rendering: Using Physical-Based Materials and Lighting to Create a Virtual Environment on the Web | |
Runchevski et al. | Surface Sampling, Vertex Manipulation and Surface Generation Based on WebGL Technologies | |
Zhang | Real-time optimization technology and its application in terrain rendering | |
Coutinho et al. | Puppeteering 2.5 D models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20151207 |
|
EXPY | Termination of patent right or utility model |