基于实时梯度计算的快速纹理映射体绘制

上传人:wm****3 文档编号:47293657 上传时间:2018-07-01 格式:PDF 页数:4 大小:567.18KB
返回 下载 相关 举报
基于实时梯度计算的快速纹理映射体绘制_第1页
第1页 / 共4页
基于实时梯度计算的快速纹理映射体绘制_第2页
第2页 / 共4页
基于实时梯度计算的快速纹理映射体绘制_第3页
第3页 / 共4页
基于实时梯度计算的快速纹理映射体绘制_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于实时梯度计算的快速纹理映射体绘制》由会员分享,可在线阅读,更多相关《基于实时梯度计算的快速纹理映射体绘制(4页珍藏版)》请在金锄头文库上搜索。

1、郑 杰 博士生,主要研究领域为图像处理、 计算机图形学、 科学可视化等;姬红兵 博士,教授,博士生导师,主要从事信号与信息处理和目标识别方面的研究工作;杨万海 教授,博士生导师,主要从事图像融合、C3I系统数据融合、 雷达系统建模、 仿真和设计技术等方面的研究。计算机科学2007Vol134 12基于实时梯度计算的快速纹理映射体绘制郑 杰1 姬红兵2 杨万海1 (西安电子科技大学电子工程学院 西安710071)1(西安电子科技大学电子研究生院 西安710071)2摘 要 本文分析讨论了一种基于实时梯度计算的纹理映射体绘制算法。在绘制过程中实时计算每个体素上的梯 度,有效地减少了在传统基于纹理映

2、射的体绘制中,对梯度预先计算的耗时操作,也降低了内存的消耗,加快了整个绘 制过程。同时,采用三维Sobel算子对梯度进行计算,并进行归一化处理,有效地提高了绘制图像的质量。在实现中 充分利用了目前PC图形硬件成熟的可编程特性,特别是fragment program ,来完成梯度的实时计算。最后对医学体 数据进行绘制,得到了理想的结果。 关键词 体绘制,三维纹理映射,梯度计算,通用图形处理器Real2time Gradient Estimating in Texture2Based Volume RenderingZHENGJie1 J I Hong2Bing2 YANG Wan2Hai1(Sc

3、hool of Electronic Engineering , Xidian University , Xian 710071)1(Graduate School , Xidian University , Xian 710071)2Abstract A novel technique for texture2based volume rendering is discussed , which estimates and normalizes the gradi2ent on the fly. During rendering the gradient is calculated on e

4、ach voxel , and normalized for the lighting computation.The new technique is presented to load the volume dataset to the 3D texture directly without the time consumptiveprocess to pre2compute the gradient , and circumvent the huge memory consumption in previous approaches. Addition2ally , the 3D Sob

5、el gradient operator is applied to the gradient estimation , which improves the quality of the rendering.The sophisticated PC graphics hardware functionality is utilized , especially the fragment program , to implement thegradient estimation. Several examples are given to illustrate the effectivenes

6、s on real clinic 3D CT datasets.Keywords Volume rendering , 3D texture mapping , Gradient estimating , Graphics processing unit1 引言直接体绘制对于由各种类型的三维设备、 科学仿真等产 生的体数据可视化是一种非常重要的技术,它最大的优点在 于不需要生成中间几何体而直接对体数据进行成像,以反映 体数据中各种信息的综合分布情况,但同时要计算每个体素 对成像的贡献,巨大的计算量限制了体绘制的应用。为了克 服绘制中大量的计算和对带宽的极高要求,基于图形硬件纹 理映射的体绘制逐

7、步成为对规则网格体数据绘制的最为实际 可行的方法。 尽管目前的PC图形硬件广泛提供了对三维纹理的支 持,但基于三维纹理映射的体绘制仍有一些局限性。在体绘 制中明暗光照是一种很有效的技术,可以增强绘制图像的空 间效果,更好地理解图像的内容。梯度则是明暗光照计算中 的基本要素,直接影响着绘制图像的质量。在几何体的绘制 中梯度是顶点属性,而对于体绘制则是体素的属性。当使用 纹理映射对体数据进行绘制时,图形硬件没有提供对梯度计 算的直接支持。为了克服这个缺陷,梯度数据要预先进行计 算,并和体数据一同载入图形硬件中。这样需要四倍于体数 据量的纹理内存来完成绘制。由于目前图形硬件内存的限 制,这就制约了对

8、体数据的规模。同时数据预处理过程中梯 度计算非常耗时,导致绘制实时性的降低。另一方面,绘制时 要对归一化的梯度进行采样插值,得到的非归一化梯度则被用于光照计算,这样会造成明暗光照的伪影,降低绘制的质 量。 本文基于通用PC图形硬件纹理映射,提出了一种基于 实时梯度计算的快速体绘制方法。在绘制时实时计算每个体 素上归一化的梯度,避免了梯度的预先计算和存储,提高了对 大规模体数据的绘制能力,加速了整个绘制过程。同时采用 了三维Sobel算子进行梯度的计算,有效地提高了梯度的精 度,改善了绘制图像的质量。由于充分利用了目前PC图形 硬件成熟的可编程特性,所有绘制过程在一个绘制通道中完 成,可以达到交

9、互的绘制速度。2 相关研究最重要的基于纹理映射的体绘制方法由Cabral2提出, 其利用高端图形工作站中的三维纹理映射特性完成了对2563的体数据的交互绘制。但这种通用的纹理映射方法的 主要缺点是缺乏对体数据光照的支持。为了克服这个缺陷,Van Gelder1等提出采用34个参数的查找表来实现体数 据的光照计算。但是图形硬件没有提供这类查找表的支持, 这样当改变视线方向时都要生成新的三维纹理。Westermann和Ertl7通过引入一种快速的直接多通道 绘制算法来显示具有光照效果的等值面,极大地扩展了基于 纹理映射的体绘制方法的应用。基于这些研究成果,Meiner 等6提出了一种新方法对半透明

10、体绘制进行漫反射光照处032理。然而这种通过光栅化图形硬件的多通道绘制极大地降低 了绘制性能。以上这两种具有光照效果的方法采用了矩阵操 作来获得漫反射光照强度, Rezk2Salama等3则 利用 了NVidia GeForce2提供的 “register combiners” 操作来完成。 尽管得到了很好的绘制效果,但所有的明暗处理操作都是基 于经过插值的非归一化的梯度进行的,造成了光照的伪影。 与Westermann类似,Dechille等4提出利用三维纹理硬件进 行插值,而用软件进行光照计算和数据分类。光照操作在CPU上完成以保证绘制的高质量,这样就避免了非归一化梯 度的问题,但是却牺牲

11、了绘制的实时性。Kniss等5利用通 用图形硬件加速了多维传递函数的交互性。但由于多维函数 自身的复杂性,带来了计算量和存储量的骤增,从而影响了绘 制的实时性,同时也限制了可绘制体数据的大小。 本文的主要研究成果是利用OpenGL的ARB_fragment_program扩展采用Sobel算子对体绘制中光照计算所需的梯 度进行实时计算和归一化处理,同时降低了CPU和GPU (图 形处理器)的内存消耗,得到了理想的绘制结果。因此,这种 方法适用于对绘制质量有较高要求的交互式应用。3 实时梯度计算的纹理映射体绘制本节首先将对三维纹理映射的体绘制技术进行描述。基 于对采样后体数据进行梯度计算的思想避

12、免对梯度的预先计 算,并采用归一化的梯度实现体绘制中的明暗光照效果。3. 1 三维纹理映射体绘制 体绘制的主要任务是在每个像素上对体绘制积分进行近 似计算,即沿着入射光线对逐渐衰减的颜色和衰减系数进行 累加。首先要对体数据进行分类来指定颜色和衰减系数。通 过引入传递函数(transfer function)来将体数据强度s=s(珝x)映射为颜色强度c(s)和衰减系数(s) , c一般为颜色空间中的颜色矢量。 我们假设入射光线表示为 珝x () ,其中为到观察点的距 离, D为最大观察距离。对空间中的任意一点 珝x ,体绘制积分 可以表示为:I=D0c(s(珝x() ) )e-0(s(珗x (

13、)d d(1)沿入射光线采样,对体绘制积分进行离散化,我们引入阻 光度,定义为:Ai= 1 - e-(s(x(id) d(2)同样,第i个采样光线间隔上的颜色可以近似表示为:Ci=c(s( x(id) ) ) d(3) 这样,离散化的体绘制积分可以表示为:C=ni= 0Cii- 1j= 0(1 -Ai)(4)其中n= D/ d,为采样点的个数。 式(4)可以通过从前向后或从后向前进行迭代的alpha 融合进行实现。如按照从后向前的顺序进行迭代时第i步可 表示为:Ci=Ci+(1 -Ai) Ci+ 1(5) 目前的通用图形硬件采用的是以物体为序的光栅化方 法。几何元素(点、 线、 多边形)经过扫

14、描转化,按照像素的方 式写入图像帧缓存中进行显示。然而在体数据中没有这样的 几何元素,需要通过多边形切片对体数据进行采样,每个多边 形的纹理可从相应的体数据获得。对这些切片多边形进行光 栅化操作就可以重建出体数据。 平行于视平面的多边形切片是在基于三维纹理映射的绘制中最常用的方法。体数据被装载到一个三维纹理中,在切 片多边形内部上进行插值得到顶点的三个纹理坐标,在光栅 化过程中,这些纹理坐标被用来对三维纹理进行采样,利用硬 件加速的三次线形插值得到相应的体数据。另外,当使用平 行投影时,在对体数据进行切片的过程中保持固定的采样间 隔。这是对体绘制进行离散的一个重要假定,这样切片多边 形就可以按

15、照由前向后或由后向前的顺序正确地融合了。 在利用纹理映射绘制体数据时,通用图形硬件没有对梯 度的计算提供支持。为了实现光照处理,通常要预先对体数 据的表面梯度进行计算,在纹理内存中存储体数据和归一化 梯度,极大地占用了图形硬件中有限的内存空间。另一方面 当用切片对体数据绘制时,同时对预先计算的体数据梯度也 进行了三次线形插值,插值后的非归一化梯度被用来计算光 照。这样导致了明暗效果的伪影,降低了绘制图像的质量。3. 2 梯度的实时计算 本文采用对梯度进行实时计算的思想来有效地加速整个 绘制过程。只需在纹理内存中存储原有传统纹理绘制1/ 4的 数据,同时也无需在预处理过程中进行耗时的梯度计算,直

16、接 载入体数据,提高了绘制实时性。整个绘制流程如图1所示, 其中虚线框内的操作均是在图形硬件中完成的。图1 绘制流程常用的梯度计算方法,如中心差分,采用6邻域信息来描 述中心位置体素的梯度。为了提高准确性,我们采用三维Sobel算子来计算数据场的梯度。 和中心差分相比,Sobel梯度算子采用26邻域来完成梯 度的计算。二维Sobel算子通常被用于图像的边缘检测,三 维Soble算子使用一个333的模板来计算每个方向上的 偏导数。本文采用的在z方向上的模板为:- 101- 303- 101- 303- 606- 303- 101- 303- 101z- 1 z z+ 1 将上面的模板按照相应的方向旋转,可以得到x和y方 向上的计算模板。Soble算子具有各向同性的特性,体数据中 边界结构的方向不影响计算结果,可以提供较高精度的梯度。 在目前的通用图形硬件中,fragment program特性应用 在光栅化阶段,对每个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号