羅月童1,薛 曄1,龍鵬程2,伍國(guó)永1
?
基于多分辨率裁剪紋理的體裁剪技術(shù)
羅月童,薛 曄,龍鵬程,伍國(guó)永
(1. 合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院VCC研究室,安徽合肥 230009;2. 中國(guó)科學(xué)院等離子體物理研究所,安徽合肥 230031)
為解決單分辨率裁剪紋理的數(shù)據(jù)規(guī)模過(guò)大的問(wèn)題,該文提出了一種具有INDEX-DATA二級(jí)結(jié)構(gòu)的多分辨率裁剪紋理。文章主要介紹了多分辨率裁剪紋理的定義和結(jié)構(gòu),并討論多分辨率紋理的構(gòu)建方法和基于多分辨率紋理的體裁剪方法,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析討論。該文方法已在自主知識(shí)產(chǎn)權(quán)可視化軟件SVIP中得到應(yīng)用,取得了令人滿意的結(jié)果。
計(jì)算機(jī)應(yīng)用;INDEX-DATA紋理;多分辨率;體裁剪;直接體繪制
直接體繪制(DVR: Direct Volume Rendering)是可視化復(fù)雜數(shù)據(jù)集的重要工具,用戶通過(guò)調(diào)節(jié)傳遞函數(shù)(TF: Transform Function)來(lái)顯示/隱藏?cái)?shù)據(jù)集中的特征。因?yàn)門(mén)F函數(shù)是全局函數(shù),所以它難以凸顯數(shù)據(jù)中的局部特征,雖然人們對(duì)TF函數(shù)進(jìn)行了大量研究,但這個(gè)問(wèn)題至今依沒(méi)能得到有效解決。
雖然人們對(duì)TF函數(shù)進(jìn)行了大量研究,但關(guān)于體裁剪技術(shù)的研究很少,深入的研究就更少。最簡(jiǎn)單的體裁剪方法是基于OpenGL、DirectX裁剪面的體裁剪方法,但這類(lèi)方法只能裁剪出簡(jiǎn)單的形狀,難以實(shí)現(xiàn)如圖1(c)和圖1(d)所示的常用效果。Westerman和Ertl提出基于蒙板測(cè)試的體裁剪方法,該方法能實(shí)現(xiàn)復(fù)雜的裁剪效果,但實(shí)現(xiàn)困難。隨著可編程GPU技術(shù)的出現(xiàn),研究基于GPU的體裁剪技術(shù)成為主流,Daniel Weiskop等人提出基于深度的體裁剪技術(shù),該技術(shù)能實(shí)現(xiàn)精確裁剪且額外開(kāi)銷(xiāo)小,但它難以應(yīng)用于非凸裁剪體?;诓眉艏y理的體裁剪技術(shù)一方面對(duì)裁剪體形狀沒(méi)有限制,另一方面基于可編程GPU很容易實(shí)現(xiàn),所以它的應(yīng)用非常廣泛,但為了保持裁剪的準(zhǔn)確性,通常需要很高分辨率的裁剪紋理,從而使得裁剪紋理過(guò)大。針對(duì)裁剪紋理太大的問(wèn)題,本文提出多分辨率裁剪紋理,在保持體裁剪效果不變的情況下壓縮裁剪紋理。
圖1 體數(shù)據(jù)裁剪
體裁剪技術(shù)是指在DVR方法中實(shí)現(xiàn)顯示指定內(nèi)容的方法和技術(shù),通常使用3D實(shí)體指定裁剪區(qū)域,并將3D實(shí)體稱作裁剪體,如圖2所示(為便于表達(dá)采用2D圖表示)?;诓眉艏y理的體裁剪技術(shù)首先將3D實(shí)體離散成裁剪紋理,然后基于裁剪紋理實(shí)現(xiàn)體裁剪。最簡(jiǎn)單的裁剪紋理是0/1裁剪紋理,裁剪體內(nèi)部的體元用1表示,其它體元用0表示?;?/1裁剪紋理的體裁剪容易在邊界處引起鋸齒走樣或使邊界變得模糊不清的問(wèn)題,所以文獻(xiàn)[2]對(duì)0/1裁剪進(jìn)行改進(jìn),提出距離場(chǎng)裁剪紋理。在距離場(chǎng)裁剪紋理中,每個(gè)體元中存儲(chǔ)了按下述方法計(jì)算得到的距離:首先計(jì)算該體元中心點(diǎn)到裁剪體邊界的距離(內(nèi)部點(diǎn)的距離為正,外部點(diǎn)的距離為負(fù)),然后按公式化。其中表示裁剪紋理中體元對(duì)角線距離,表示采樣點(diǎn)到裁剪體邊界的最近距離。表示體元完全處于裁剪體外部,表示體元有可能和裁剪體邊界相交,而表示體元完全處于裁剪體內(nèi)部。在基于距離裁剪紋理的體裁剪算法中,在自定義的片段程序中查詢距離裁剪紋理,如果該片段的裁剪紋理值不小于0.5則保留該片段,否則將該片段裁減掉。因?yàn)檫@種方法使用距離場(chǎng)裁剪紋理中ISOVALUE=0.5的等值面表示裁剪體邊界,能有效克服0/1裁剪紋理的問(wèn)題,所以本文在距離場(chǎng)裁剪紋理的基礎(chǔ)上實(shí)現(xiàn)多分辨率裁剪紋理。
圖2 體裁剪過(guò)程示意圖
雖然基于裁剪紋理的體裁剪技術(shù)具有靈活、方便實(shí)現(xiàn)等優(yōu)點(diǎn),但高分辨率裁剪紋理需要占用大量紋理內(nèi)存空間。觀察發(fā)現(xiàn),裁剪紋理只在裁剪體邊界附近需要高分辨率,其它部分可以使用較低分辨率并不影響效果,因此本文提出如圖3(b)所示多分辨率裁剪紋理——INDEX-DATA裁剪紋理,其中INDEX紋理采用低分辨率,描述裁剪體的總體結(jié)構(gòu),DATA紋理采用高分辨率,用于刻畫(huà)裁剪體的邊界細(xì)節(jié)。INDEX紋理中體元的可能取值及它們的意義如表1所示,DATA紋理保存INDEX紋理中(r, s, t, 0.5 )體元所對(duì)應(yīng)的高分辨率采樣數(shù)據(jù)。
圖3 單分辨率裁剪紋理與多分辨率裁剪紋理的對(duì)比
表1 INDEX紋理體元的取值范圍
2.1 多分辨率裁剪紋理的構(gòu)建方法
(2)然后按下述方法處理每個(gè)方塊:
1)遍歷子塊中所有元素的值:如果值都為1,則轉(zhuǎn)向2);如果值均為0,則轉(zhuǎn)向3);否則轉(zhuǎn)向4);
2)將INDEX紋理中對(duì)應(yīng)體元設(shè)為(0, 0, 0, 1),然后轉(zhuǎn)到5);
3)將INDEX紋理中對(duì)應(yīng)體元設(shè)為(0, 0, 0, 0),然后轉(zhuǎn)到5);
4)按圖3(b)所示方式將“擴(kuò)展子塊”移動(dòng)到DATA紋理中并依次排列,“擴(kuò)展子塊”是將當(dāng)前子塊在上、下、左、右、前、后六個(gè)方向各擴(kuò)展一個(gè)體元所形成的(+2)子塊,擴(kuò)張的目的是解決紋理查詢中的邊界問(wèn)題;然后將INDEX紋理中對(duì)應(yīng)體元設(shè)為(r, s, t, 0.5),其中(r, s, t)為子塊中心點(diǎn)的DATA紋理坐標(biāo);
5) 結(jié)束對(duì)當(dāng)前子塊的處理。
(3)保存INDEX紋理和DATA紋理,結(jié)束。
2.2 基于多分辨率裁剪紋理的體裁剪
基于多分辨率裁剪紋理的體裁剪技術(shù)也是通過(guò)在自定義片段程序中查詢裁剪紋理,然后根據(jù)查詢結(jié)果決定對(duì)應(yīng)片段的去留。假設(shè)當(dāng)前片段的INDEX紋理坐標(biāo)為,那么在片段程序首先以紋理坐標(biāo)按GL_NEAREST方式查詢INDEX紋理獲取紋理值;然后基于的值進(jìn)行以下處理:
1)計(jì)算DATA紋理坐標(biāo)(s, t, r);
2)按GL_LINEAR方式查詢(s, t, r)處的DATA紋理值;
本文基于文獻(xiàn)[5]中的方法計(jì)算(s, t, r),計(jì)算公式為
本文算法已在自主開(kāi)發(fā)可視化軟件SVIP (Scientific Visualization Integrated Platform)中實(shí)現(xiàn)和應(yīng)用,并且作者基于SVIP對(duì)本文算法進(jìn)行了測(cè)試。測(cè)試環(huán)境如表2所示,實(shí)驗(yàn)結(jié)果如表3所示。由實(shí)驗(yàn)結(jié)果本文得如下結(jié)論:
·多分辨率紋理能有效壓縮裁剪紋理,且壓縮比和裁剪體形狀有關(guān)。雖然對(duì)復(fù)雜結(jié)構(gòu)裁剪體的壓縮效果相對(duì)較差,但仍能獲取很高的壓縮比。
· 和單分辨率裁剪紋理的相比,使用多分辨率裁剪紋理會(huì)降低渲染速度,但依舊能夠?qū)崿F(xiàn)實(shí)時(shí)的渲染效果。渲染速度下降主要是因?yàn)樵谄沃鞒绦蛑写嬖诙?jí)紋理查詢。
表2 測(cè)試環(huán)境
表3 實(shí)驗(yàn)結(jié)果
注:壓縮率 =(INDEX紋理+ DATA紋理)/單分辨率紋理
體裁剪技術(shù)是對(duì)TF函數(shù)的重要補(bǔ)充,在解決DVR難以揭示數(shù)據(jù)集內(nèi)部細(xì)節(jié)特征的問(wèn)題上有重要價(jià)值。隨著可編程GPU技術(shù)的發(fā)展,基于裁剪紋理的體裁剪技術(shù)得到廣泛使用,但該方法的不足之處是其體紋理太大。本文基于“僅裁剪體邊界處需高分辨率裁剪紋理”的事實(shí),提出INDEX-DATA結(jié)構(gòu)的多分辨率裁剪紋理,以減少裁剪紋理的內(nèi)存需求。實(shí)驗(yàn)表明IDEX-DATA結(jié)構(gòu)的多分辨率裁剪紋理能有效節(jié)約紋理內(nèi)存,盡管同時(shí)它也影響了渲染速度,不過(guò)仍能獲得實(shí)時(shí)渲染效果。
[1] Pfister H, Lorensen B, Bajaj C, et al. The transfer function bake-off [J]. IEEE Computer Graphics and Applications, 2001, 21(3): 16-22.
[2] Daniel Weiskopf, Klaus Engel, Thomas Ertl. Interactive clipping techniques for texture-based volume visualization and volume shading [J]. IEEE Transactions on Visualization and Computer Graphics, 2003, 9(3): 298-312.
[3] Volz W R. Gigabyte volume viewing using split software/hardware interpolation [C]//Proc. 2000 Symp. Volume Visualization, 2000: 15-22.
[4] Westermann R, Ertl T. Efficiently using graphics hardware in volume rendering applications [C]// SIGGRAPH 1998 Conf. Proc., 1998: 169-179.
[5]Kraus M, Ertl T. Adaptive texture maps [C]// Proceedings of Graphics Hardware 2002, 2002: 7-15.
[6] Binotto A P, Comba J L, Freitas C M. Real-time volume rendering of time-varying data using a fragment-shader compression approach [C]// Proceedings of the 6th IEEE Symposium on Parallel and Large-data Visualization and Graphics (PVG'03), 2003: 69-76.
[7] 羅月童, 龍鵬程, 薛 曄, 等. 面向中子學(xué)分析的集成可視化平臺(tái)SVIP的發(fā)展研究[J]. 核科學(xué)與工程, 2007, 27(4): 374-378.
Volume Clipping Technology Based on Multi-resolution Clipping Texture
LUO Yue-tong, XUE Ye, LONG Peng-cheng, WU Guo-yong
( 1. VCC Division, School of Computer and Information, Hefei University of Technology, Hefei Anhui 230009, China;2. Institute of Plasma Physics, Chinese Academy of Sciences, Hefei Anhui 230031, China )
A multi-resolution clipping texture with INDEX-DATA structure is presented to solve the huge size problem of single-resolution clipping texture data. Firstly, definition and structure of multi-resolution clipping texture are introduced; then multi-resolution clipping texture’s construction method and volume clipping technology based on multi-resolution clipping texture are discussed; finally, experiment results are discussed. The method presented in the paper has been applied in visualization software SVIP and the result is satisfactory.
computer application; INDEX-DATA texture; multi-resolution; volume clipping; direct volume rendering
TP 391
A
1003-0158(2011)03-0001-05
2009-12-18
安徽省自然科學(xué)基金資助項(xiàng)目(090412066);合肥工業(yè)大學(xué)博士學(xué)位專(zhuān)項(xiàng)基金資助項(xiàng)目;國(guó)家自然科學(xué)基金資助項(xiàng)目(60573174;60673028)
羅月童(1978-),男,安徽青陽(yáng)人,副教授,博士,主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué),科學(xué)計(jì)算可視化,虛擬現(xiàn)實(shí)。