国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GPU與Monte-Carlo的體繪制光線投射算法的研究

2011-07-25 00:34:02張春凱劉金剛
關(guān)鍵詞:走樣入射光光線

張春凱,楊 猛,劉金剛

(首都師范大學(xué) 計算機(jī)科學(xué)聯(lián)合研究院,北京 100040)

自20世紀(jì)80年代科學(xué)計算可視化(Visualization in Scientific Computing)的概念被提出后,三維體數(shù)據(jù)的可視化技術(shù)便開始成為一個獨(dú)立的研究領(lǐng)域,并最終形成了體繪制技術(shù)體系[1]。科學(xué)計算可視化的基本含義是運(yùn)用計算機(jī)圖形學(xué)的原理和方法,將科學(xué)與工程計算產(chǎn)生的大規(guī)模數(shù)據(jù)轉(zhuǎn)換為圖形、圖像,以直觀的形式表現(xiàn)其物理屬性或統(tǒng)計屬性。直接體繪制技術(shù)是科學(xué)可視化的重要研究內(nèi)容,目前在許多領(lǐng)域得到了廣泛應(yīng)用。傳統(tǒng)的直接體繪制有著繪制速度慢、交互性差等缺點(diǎn)。

體繪制技術(shù)是依據(jù)三維數(shù)據(jù),將所有的體細(xì)節(jié)同時展現(xiàn)在二維圖像的技術(shù),利用體繪制技術(shù),可以在一幅圖像中顯示更多物質(zhì)的綜合分布情況,并且可以通過不透明度的控制,反映等值面的情況[2]。由于體數(shù)據(jù)通常具有信息量大、繪制復(fù)雜度高的特點(diǎn),很難滿足人們實(shí)時顯示跟交互的需求,因此,體繪制必須與相應(yīng)的加速技術(shù)和策略相結(jié)合。現(xiàn)有的體繪制加速技術(shù)主要分為空體素剔除、提前不透明度截止、硬件加速三類,其中前兩類屬于軟件加速,利用對體數(shù)據(jù)的處理、體數(shù)據(jù)的渲染流程進(jìn)行優(yōu)化等方法來達(dá)到加速的目的,但是這種加速方法加速有限,很難達(dá)到實(shí)時交互。第三類硬件加速又可分為專用圖形硬件加速與通用圖形處理器加速,但是專用圖形硬件成本高,而通用圖形處理器比較普及,尤其是可編程GPU(Graphics Processing Uint)的出現(xiàn),為實(shí)現(xiàn)實(shí)時體繪制技術(shù)提供了強(qiáng)大硬件支持。

基于GPU的加速技術(shù)首先由Cullip和Neumann[3]提出,Cabral等人對這項(xiàng)技術(shù)作了改進(jìn)并驗(yàn)證了體繪制通過硬件加速的可行性[4],KRUGER J等人將提前不透明度截止、空體素剔除技術(shù)等應(yīng)用到基于GPU的體繪制中,進(jìn)一步提高了體繪制的速度。

本文采用了Monte-Carlo方法計算光照方程。本文描述了基于GPU的光線投射算法的總體流程,詳細(xì)描述了如何將Monte-Carlo積分法運(yùn)用于全局光照模型中,實(shí)驗(yàn)表明,采用隨機(jī)采樣的Monte-Carlo方法比等步長采樣的黎曼方法具有更好的可交互性。

1 光線投射算法

1.1 光線投射算法

光線投射算法是一種基于圖像序列的直接體繪制算法。其原理是從圖像的每一個像素沿固定方向發(fā)射一條射線,沿著該射線對離散數(shù)據(jù)進(jìn)行等距離采樣。通常使用三線性插值作為重建濾波器。簡言之,每個重采樣點(diǎn)的值通過一個映射表產(chǎn)生一個RGBA四元組,該四元組封裝了該點(diǎn)的發(fā)射與吸收參數(shù)等光學(xué)屬性[5]。然后體渲染積分器會通過從前向后或者從后向前的方式將顏色與透明度混合來計算該點(diǎn)的像素顏色值,通常的方式是從前向后混合,原理圖如圖1所示。

早期的光線投射算法完全基于軟件實(shí)現(xiàn),繪制效率受到較大的限制。隨著可編程圖形硬件的發(fā)展,越來越多的光線投射算法開始基于硬件實(shí)現(xiàn),達(dá)到了比純軟件算法高出一個數(shù)量級的計算效率。

1.2 基于GPU的光線投射算法

基于GPU的光線投射技術(shù)是將整個渲染體(volume)存儲在一個簡單的3D紋理中,然后調(diào)用片段程序向渲染體中投射光線。在渲染體中的每一個像素/片段都對應(yīng)了一條射線,這條射線的參數(shù)方程可用式(1)表示:

圖2說明了通過光柵化對光線投射的入射點(diǎn)、射出點(diǎn)、方向進(jìn)行初始化。從圖3可知,光線的起點(diǎn)是由體包圍盒的前表面決定,終點(diǎn)是由體包圍盒的后表面決定的。光線在這個空間里進(jìn)行采樣,通常以一個恒定的采樣速率進(jìn)行。現(xiàn)在的GPU,一個簡單的渲染通路和光線投射的片段著色程序,通過由前向后的順序渲染渲染體,就可以生成深度圖片(如圖1所示)。基于GPU的光線投射算法是在此基礎(chǔ)上應(yīng)用了空體素剔除與提前不透明度等加速算法,其算法流程如圖4所示。

2 在體繪制中應(yīng)用Monte-Carlo方法

2.1 散射效果

散射是使光改變其直線傳播的一個物理過程,散射現(xiàn)象包括光的折射、反射、透射等現(xiàn)象。簡單的散射現(xiàn)象使用Phong光照模型來模擬,舉例來說,如果光線照射在一個球形表面上,散射光依據(jù)球的表面法線均勻地分布在整個球形表面之上,而鏡面光則作用在以幾何反射光線為中心的一個扇形區(qū)域。更復(fù)雜的模型材質(zhì)效果需要利用雙向反射分布函數(shù)BRDF(Bidirectional Reflectance Distribution Function)來描述。

在某一表面上一點(diǎn)x的雙向反射分布函數(shù)(BRDF)fr(x,λ,wi,wo)說明了光線在該點(diǎn)的反射情況。該函數(shù)的參數(shù)是:入射光的方向 wi、反射光的方向 wo、光線的波長λ,返回值是反射光強(qiáng)占入射光強(qiáng)的百分比。在很多應(yīng)用程序中,特別是實(shí)時的程序中,局部的光照明模型利用點(diǎn)光源組合而成,也就是說光源由一個或者幾個獨(dú)立的光源組成,光線的方向可能有一個或者幾個方向。一個光源應(yīng)用雙向反射分布函數(shù)得到的渲染公式如下:

其中,L(x,wo)是從表面的一點(diǎn)沿著wo方向發(fā)出的光強(qiáng),Li是光源發(fā)射出的光強(qiáng),r是這點(diǎn)與光源之間的距離,θ是入射光wi與此點(diǎn)法線之間的夾角。在現(xiàn)實(shí)中,入射光可能來自于正向球面Ω+的所有方向,此時,觀察到的光強(qiáng)是此球面上所有的入射光wi積分得到的,公式如下:

前面一直討論的是位于表面的散射效果,它可以用雙向反射分布函數(shù)來描述。在半透明體或者粒子系統(tǒng)里,散射可以認(rèn)為是發(fā)生在物體內(nèi)部的每一個點(diǎn),在這種情況下雙向反射分布函數(shù)fr將被相位函數(shù)h取代,入射光強(qiáng)通過對整個球面進(jìn)行積分得到,公式如下:

相位函數(shù)h描述了相關(guān)介質(zhì)的散射特性,它可以直接操作光照的輻射度值,最常用的相位函數(shù)模型有Henyey-Greenstein[7]、Schlick 、Mie[8]和 Rayleigh[9]。

2.2 Monte-Carlo積分

通過以下證明可以得出I′的期望與I相同:

由此說明 I′的估算值與積分 I的值相同,I′被稱為Monte-Carlo積分。本文在原有的基于GPU的光線透射算法基礎(chǔ)上運(yùn)用了Monte-Carlo方法計算式(4),得到結(jié)果,從而使GPU在計算過程中采樣點(diǎn)減少,速度加快,可交互性增強(qiáng)。

在計算機(jī)圖形學(xué)中,使用黎曼積分可能會存在以下兩個缺點(diǎn):

(1)如果f(x)頻率特別高,等距離采樣不可避免地會造成走樣,即使采樣點(diǎn)的數(shù)目增加特別多,走樣現(xiàn)象也還是會特別嚴(yán)重;

(2)黎曼積分依賴于數(shù)據(jù)的結(jié)構(gòu)。舉例而言,如果對一個三維數(shù)據(jù)進(jìn)行采樣,可能會采集10×10×10=1 000個采樣點(diǎn),若此時發(fā)現(xiàn)得到的結(jié)果產(chǎn)生的圖像錯誤非常大,接下來可能會采用11×10×10=1 100個采樣點(diǎn),即在一個方向多采集一個點(diǎn),就會導(dǎo)致整個采集樣本增加100個額外的采樣點(diǎn),造成數(shù)據(jù)量激增。

采用Monte-Carlo方法可有效地避免以上兩點(diǎn),針對問題(1),采用Monte-Carlo方法下的隨機(jī)采樣,可能會產(chǎn)生一定的擾動,但是視覺效果比走樣更加容易讓人接受,因?yàn)槿藗兊难劬τ谧邩右葦_動敏感的多。對于問題(2),隨機(jī)采樣更加容易避免,不受數(shù)據(jù)格式的影響,隨機(jī)采樣可以每次只增加一個采樣點(diǎn),直到達(dá)到要求的精度為止。

普通的Monte-Carlo積分公式為:

3 實(shí)驗(yàn)結(jié)果分析

本文實(shí)驗(yàn)所用的硬件配置是Intel Core DUO 2.2 GHz CPU、2 GB內(nèi)存、NVDIA GeForce GT240M顯卡,操作系統(tǒng)為 Windows7,采用OpenGL與CG著色語言。

本文實(shí)驗(yàn)1所用的數(shù)據(jù)為頭部CT數(shù)據(jù)圖像,體數(shù)據(jù)分辨率大小為256×256×225。使用GPU與Monte-Carlo方法進(jìn)行體繪制,得到的效果如圖6(a)所示,繪制幀率為每秒68 S/s。使用基于GPU與等步長采樣進(jìn)行體繪制,得到的效果圖如圖6(b)所示,繪制幀率為50 S/s。顯示效果幾乎相同的前提下,前者比后者每秒快18幀,大大提高了體繪制的可交互性。

實(shí)驗(yàn)2采用的體數(shù)據(jù)分辨率為 256×256×256,使用Monte-Carlo方法進(jìn)行體繪制,得到的效果如圖7(a)所示,幀率為60 S/s。使用基于GPU與等步長采樣進(jìn)行體繪制,得到的效果圖如圖 7(b)所示,幀率為 38 S/s,前者比后者每秒多22幀。對比可得,本文方法提高了體繪制的可交互性。

由實(shí)驗(yàn)結(jié)果可以看出,基于GPU與Monte-Carlo的光線投射體繪制有很大的加速效果。

本文描述了基于GPU的光線投射體繪制機(jī)制,用Monte-Carlo積分替代等步長采樣來計算光照方程,避免了體數(shù)據(jù)結(jié)構(gòu)的依賴性,有效消除了失真走樣。實(shí)驗(yàn)結(jié)果表明,本文的算法在基本保持原有視覺效果的前提下大幅提高了渲染效率。

[1]HEARN D,BAKER M.計算機(jī)圖形學(xué)[M].北京:電子工業(yè)出版社,2002.

[2]康玉之.GPU編程與CG語言之陽春白雪下里巴人[M].[出版地不詳]:[出版者不詳].2009[2010.20]//www.docin.com/P-34717438.html.

[3]CULLIP T,NEUMANN U.Accelerating volume reconstruction with 3D texture hardware[R].Tech.Rep.TR93-027,University of North Carolina at Chapel Hill,1993.

[4]CABRAL B,CAM N,FORAN J.Acceleratedbolume rendering and tomographic reconstructions using texture mapping hardware[C].In Proceedings ACM Symposium on Volume Visualization,1994:91-98.

[5]LOEVY M.Display of surfaces from volume data[J].IEEE Computer Graphics and Applications,1988,8(3):29-37.

[6]KRU¨GERJ,WESTERMANN R.Accleration techniques for GPU-Based volume rendering[C].In Proceeding IEEE Visual ization 2003,2003.

[7]HENYEY L,GREENSTEIN J.Diffuse radiation in the galaxy[J].Astrophysical Journal,1941,93.

[8]ENGEL K,HADWIGER M,KNISS J,et al.Real-time volume graphics[M].AK Peters,2006.

[9]PHARR M,HUMPHRIES G.Physically based rendering[M].Morgan Kauffman,2004.

猜你喜歡
走樣入射光光線
春日暖陽
“雙減”,如何確保落地實(shí)施不走樣
教育家(2022年18期)2022-05-13 15:42:15
基于G-Buffer的深度學(xué)習(xí)反走樣算法
“你看不見我”
中外文摘(2019年8期)2019-04-30 06:47:36
中國生殖健康(2018年1期)2018-11-06 07:14:38
淘氣的光線
流動的光線
光的反射規(guī)律探究實(shí)驗(yàn)中的一些改進(jìn)
對一道幾何光學(xué)競賽題解結(jié)果的分析
物理教師(2011年11期)2011-07-24 08:24:02
CCD太陽敏感器大角度入射光能衰減模型
本溪| 南昌县| 晴隆县| 重庆市| 神木县| 红安县| 准格尔旗| 武乡县| 潜江市| 秦皇岛市| 大英县| 磐石市| 宝鸡市| 朝阳区| 鄂托克前旗| 巴中市| 阿克| 苏尼特左旗| 中山市| 甘洛县| 潼关县| 高台县| 同江市| 和平区| 广安市| 延津县| 塘沽区| 石泉县| 崇州市| 克什克腾旗| 岐山县| 浦东新区| 桃园县| 牡丹江市| 民权县| 贡山| 东山县| 犍为县| 遂平县| 凉城县| 托克逊县|