999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于BRDF和GPU并行計算的全局光照實時渲染

2016-12-02 01:33:09秦磊華
圖學學報 2016年5期

王 芳, 秦磊華

(1. 鄭州升達經貿管理學院信息工程系,河南 鄭州 451191;2. 華中科技大學計算機科學與技術學院,湖北 武漢 430074)

基于BRDF和GPU并行計算的全局光照實時渲染

王 芳1, 秦磊華2

(1. 鄭州升達經貿管理學院信息工程系,河南 鄭州 451191;2. 華中科技大學計算機科學與技術學院,湖北 武漢 430074)

基于光線追蹤,將屏幕圖像像素分解為投射光線與場景對象交點面片輻射亮度和紋理貼圖的合成,每個面片的輻射亮度計算基于雙向反射分布函數(BRDF)基的線性組合,并通過圖形處理器(GPU)處理核心并行繪制進行加速,最后與并行計算的紋理映射結果進行合成。提出了一種基于BRDF和GPU 并行計算的全局光照實時渲染算法,利用GPU并行加速,在提高繪制效率的前提下,實現動態交互材質的全局光照實時渲染。重點研究:對象表面對光線的多次反射用BRDF基的線性組合來表示,將非線性問題轉換為線性問題,從而提高繪制效率;利用GPU并行加速,分別計算對象表面光輻射能量和紋理映射及其線性組合,進一步提高計算效率滿足實時繪制需求。

全局光照;圖形處理單元;雙向反射分布函數;渲染方程;并行計算

全局光照(global illumination)的基本任務是實現三維場景渲染,生成真實逼真的圖像,是實時渲染的必然發展方向。在渲染中,需要模擬光線在場景中進行傳播所發生的各種物理現象,如多次的反射、折射、陰影、滲色和焦散等。這不僅需要場景中創建的各種模型對象的外觀幾何特性和材質屬性的精確描述,還要計算求解多次反射、折射帶來的無限微積分問題。全局光照計算的復雜性使得渲染一幅真實感圖像通常需要很長的時間。全局光照繪制算法一直是圖形學領域研究的重點和熱點,各種研究集中在如何花費更短的時間渲染高質量的真實感圖像,并達到實時渲染要求。

經典的傳統全局光照渲染算法主要有適合光滑表面的光線追蹤算法和適合漫反射表面的輻射度算法,這些算法繪制的圖像效果還有一定的局限,不能進行精確描述,渲染時間也難以達到實時的要求。基于以上算法思想,陸續研究了多種全局光照算法,提高了渲染效果和逼真度,縮短了渲染時間。Kaijya[1]提出使用蒙特卡羅(Monte Carlo)方法的光線追蹤算法(raytracing);Arvo和Kirk[2]提出了改進的逆向粒子追蹤算法(backward particle tracing);Veach和Guibas[3]提出了多重重要性采樣策略(optimally combining sampling),提高了光線追蹤算法的適應性和效率;Lafortune和Willems[4]與 Veach和 Guibas[5]分別使用雙向路徑追蹤算法(bidirectional path tracing),通過生成一對眼睛子路徑和光源子路徑,然后連接每個結點(node)的方法,降低計算的方差水平,對某些以前復雜的很難計算的場景獲得了很好的計算效果;Jensen[6]提出了Photon Mapping算法,該算法結合了雙向路徑追蹤算法和Monte Carlo方法的優勢,包括生成光子圖和光子收集兩階段,能夠有效模擬特殊光學現象,如焦散(caustics)、滲色(color bleeding)、半影、次表面材質等,對于復雜場景也比較高效和精確,但因計算量大達不到實時要求;陳皓和劉曉平[7]提出了集群環境下考慮負載均衡的改進Photon Mapping并行算法,在一定程度上提高了渲染速度。

隨著圖形處理器(graphics processing unit,GPU)的飛速發展,出現了一些全局光照實時渲染的算法。Zhou等[8]提出了陰影場(shadow fields),將場景中的光照或對象間的遮擋反射等因素的影響分解到線性基上,將復雜的積分運算轉化為基系數的線性操作;王莉莉等[9]基于自適應環境光遮擋和局部最高點集合計算遮擋角,提出微結構陰影修正算法,對于全局光照滲色現象實時渲染有較好的表現,但該算法主要針對表面微結構規則分布的對象;儲璟駿等[10]在GPU中實現了傳統的光線投射體繪制,滿足了全局光照的實時交互繪制要求;Zhou等[11]提出實時K-D Tree構建方法,實現了光線跟蹤算法在GPU上的并行實時渲染;Yang等[12]對K-D Tree進行改進,提出多分割K-D Tree(multi-split K-D Tree, MSKD)方法,提升了光線追蹤在GPU上的實時渲染性能。但以上算法不支持動態交互材質;Ben-Artzi等[13]引入空間動態材質,支持可變材質的直接光照實時渲染,但不支持間接光照實時渲染;孫鑫等[14]提出了動態材質的全局光照實時渲染,主要研究了賦予材質的對象表面對光線的反射特性,關于GPU加速和紋理貼圖對最終效果的影響沒有做過多的探討。

綜合以上研究,本文提出了基于雙向反射分布 函 數 (bidirectional reflectance distribution function, BRDF)和 GPU 并 行 計 算 的BRDFCM-GPU(BRDF changed material with GPU parallel computing)算法,利用GPU并行加速,重點研究在提高繪制效率的前提下,實時實現動態交互材質的全局光照渲染。具體創新有:①對象表面對光線的多次反射用 BRDF基的線性組合來表示,將非線性問題轉換為線性問題,從而提高繪制效率;②利用GPU并行加速,分別計算對象表面光輻射能量和紋理映射及其線性組合,進一步提高計算效率滿足實時繪制需求。

1 紋理映射和BRDF函數

通過三角形或多邊形面片來表現對象模型的較多細節時簡單易于實現。但當需要模擬復雜或精細表面細節時,將需要數量巨大的面片,對于存儲、計算等都是巨大的挑戰。通常通過將貼圖紋理映射到對象表面來表現對象空間位置和模型精確細節,可以得到很好的計算和顯示平衡效果。因為對象表面的最終表現效果,除了與空間位置、顏色紋理有關,還與場景光照效果密切相關,當紋理圖案或對象表面光照特性經常變化時,每次則需要長時間重新計算,而將紋理圖和光照效果分別計算和存儲,再進行組合得到最終效果,可

以實現實時渲染。

1.1 紋理映射

紋理映射指將顏色或花紋圖案分配給對象表面,并最終顯示在屏幕上的規則和方法。紋理映射涉及紋理坐標、對象坐標、屏幕坐標等多個坐標系統間的轉換,可以實現一維、二維和三維圖像的紋理映射。紋理映射可以很好地表現凹凸起伏復雜表面對象的空間位置變化,但并不能真實反映光照條件下的反射效果。

1.2 BRDF函數

對象表面的光照反射特性,通常由 BRDF函數來描述。BRDF依據表面屬性考慮光照情況對場景的影響,描述了光被反射、吸收和透射(折射)的量和變化情況。雖然這些反射分布是無序的,但都遵循一定的規則。鏡面反射能量集中在一個方向,反射角等于入射角;漫反射(朗伯體)對象表面足夠粗糙,其出射輻射亮度在以對象中心的 2π空間中呈常數,即出射輻射亮度不隨視點而變化,亦稱各向同性BRDF;非朗伯體反射各方向的反射強度不均一,也稱各向異性BRDF。本文主要考慮前兩種反射特性。

BRDF理論模型主要有4類:①使用微小面元對對象表面進行建模,使用參數來描述其形態特性,有顯式解析表達,如 Phong、Blinn-Phong、Ward等(商業軟件Maya、3dsMax的BRDF材質參數編輯就是基于這種模型);②通過測量真實物體表面上的反射和入射光線來描述這種材質,可以擬合為解析形式表達,也可以數據集的形式來表示;③空間BRDF函數(spatial BRDF,SBRDF),其將紋理貼圖的空間特性與 BRDF函數的光照特性相結合,可以表現對象表面的顏色紋理、位置和光照效果。最直接的SBRDF實現,就是將BRDF函數的所有參數存儲到紋理貼圖的每個像素中,而更優秀并且適合 GPU并行渲染的是 Lafortune模型[15],但該模型使用了非線性的優化方法;④根據BRDF自身的形狀特性,使用基相加技術,本文算法基于該理論模型,并進行了改進。

2 BRDFCM-GPU算法實現

2.1 區域面片劃分

渲染方程描述了光能量從光源發射出來,經過場景中各種材質表面的多次反射、折射,最后進入觀察者眼睛的整個物理過程,其實對渲染方程求解的過程就是對場景的渲染過程。

經典渲染方程定義為在面片上的某點在半球范圍內向各方向出射。將場景中所有對象表面劃分為小的區域面片,渲染方程從對半球方向的積分轉化為對場景中所有對象面片的積分(圖1),就可以得到如下的渲染方程等價形式

其中,x, x', x'' 表示場景中的點;f(x, x', x'')是BRDF函數;G(x, x', x'')是幾何項,處理遮擋、衰減等現象;V(x, x')是可見性函數,如果點x和點x'相互可見,則V(x, x')為1,否則因遮擋等不可見,則為0。積分項是對所有能夠直接傳遞到點 x'的光線發出面片進行積分。本文討論的場景不考慮物體的自發光,所以暫時忽略Le(x, x')項。

圖1 面片上的點x'在場景所有面片上積分

式(1)是光經過一次反射。將入射的輻射亮度根據不同的反射次數進一步區分,則點 x'射向 x的輻射亮度,包含所有通過反射到達x'的輻射亮度經過x'反射到達x的輻射亮度,可以描述為

現假設場景被劃分為多個小的面片 Ri,面片內材質處處相同,具有相同的反射屬性,將入射的輻射亮度根據不同的反射路徑進一步區分,則對第n+1次反射,不同反射路徑到達點x'的輻射亮度經過 x'反射到達 x的輻射亮度,可以遞歸的描述為

其中,Pn(R,fR)表示光的傳播路徑,即從光源發射出的光線經過面片n次反射達到x所經過的所有面片;L'n表示按照Pn描述的路徑經過n次反射后,

x'射向點x的輻射亮度。

2.2 BRDF函數的線性描述和降維

傳統的Blinn-Phong光照模型如式(4),從對象表面對漫反射、高光和環境光不同的反射特性,以及光線在傳播路徑上的衰減,描述了場景的光照效果

本文算法假定只在物體表面改變光路,不考慮折射和環境光情況,采用Blinn-Phong的BRDF模型描述對象的材質,可以通過改變其參數來實現改變對象的材質。

Blinn-Phong模型的BRDF表述為

其中,Kd表示漫反射系數;Ks表示高光系數;δ表示入射方向與出射方向的中間方向和反射點法線方向的夾角;ns表示對象表面的粗糙度。ns在選定的范圍內均勻采樣Ns次,得到Ns個線性無關的BRDF。漫反射通常表現主要而敏感的視覺效果,所以,漫反射的 BRDF采樣直接作為一個基。其余 Ns-1個 BRDF,提取特征進行主成分分析(principal component analysis,PCA)降維后得到Nb-1個特征向量,共求得Nb個基。

現有一組 BRDF的基,可以將面片 R上的BRDF函數表示成這組基的線性組合

其中,fi表示面片R上的BRDF第i個基;ci表示對應于第 i個基的系數;Nb是基的數量。將式(6)代入式(3),并對n遞歸得到

這是n次反射的結果,只考慮兩次反射的效果,即n=2,并且x點取視點xe,就得到需要的結果。

2.3 預計算

得到 BRDF基之后,場景中所有面片都從這些基中選擇BRDF,采用光線投射預計算這些基的各種分布組合所對應的光照效果,就能夠得到式(7)中的L'(xe, x', P1(R, f'))和L'(xe, x', P2(R, f'))。

假定場景中有n個面片,將所有n個面片引入式(7)可得

其中,R'表示 x'所在面片;f'表示相應的 BRDF。只考慮兩次反射,取x為視點xe,則第一次反射為

第二次反射為

2.4 圖形處理單元并行計算和渲染

GPU由大量節能體積小的可編程圖形處理單元組成,特別適合計算機圖形學中各種并行計算密集型算法。近些年GPU從有限固化功能發展到可編程架構,提供了更大的靈活性,為GPU加速全局光照實時渲染算法提供了全新的解決思路。

實時繪制離不開流水線體系結構,GPU并行繪制有幾何流水線和像素流水線 2種架構,幾何流水線繪制速度快,但只能很好地表現直接光照,而像素流水線繪制架構能滿足全局光照實時繪制的需求。本文算法在最終渲染時,充分利用了GPU的像素流水線高效并行繪制。

2.4.1 算法數據結構

(1) 光源用帶有 6個屬性的光照函數I(x,y,z,θ,φ,λ)來表示,其中,(x, y, z)表示光源的位置坐標;(θ,φ)表示三維空間光源投射光線的方向;λ表示光源投射光線的能量強度。這6個屬性,用戶可以在編輯時進行修改。

(2) 每個面片的直接光照輻射亮度 Id作為面片的一個屬性,預計算以后存儲,以后計算一次反射或二次反射時可以直接訪問。

(3) 本文算法只計算兩次反射,真實感就能滿足用戶要求。第一次反射主要提供直接光照,由場景所有直接可見光源提供;第二次反射提供間接光照,由其他面片經過二次反射提供光照貢獻,光能量保存在面片屬性Ii中。

本文算法只考慮兩次反射的原因在于:①光線隨著傳播距離呈現指數衰減趨勢(距離平方反比),所以光源光線和對象表面的反射光線對于與之距離遠的對象照明效果貢獻不大;②光線投射到對象表面后,會根據對象表面材質特性有不同程度的光線吸收,當反射超過 2次,反射光線的能量已經十分微弱,對對象已經沒有顯著的照明效果。光線反射次數對照明效果貢獻如圖2所示。

圖2 光線反射次數對照明效果貢獻比較圖

圖2的teapot場景包含面數3 297,布置有一盞面光源,放置于左前方。從圖 2可看出當光線反射次數為1(只提供直接照明)和2時,場景渲染效果有明顯變化;當反射次數為 3時,和反射次數為 2時的比較,亮度和效果有微小的提升;當反射次數分別為6和9時,渲染效果已幾乎看不出變化。所以在本文算法中只計算兩次反射,即能滿足場景渲染質量需求。

2.4.2 算法描述

本文算法及實時渲染步驟描述如下:

步驟 1. 將 GPU中大量的處理單位分為光照處理單元I和紋理映射單元T,分別運行相同程序。I處理單元負責對象面片上的光照計算,T處理單元負責紋理映射。

步驟2. 本文算法執行像素流水線繪制,將最終繪制屏幕圖像按照像素劃分為多個區域,每個處理單元 I/T對與劃分的屏幕區域一一對應,如圖3所示。

圖3 GPU并行計算

I處理單元生成屏幕區域的全局光照幀緩存,T處理單元實現紋理映射生成紋理映射幀緩存,將各種幀緩存數據進行合成實現實時刷新屏幕。

步驟3. 每個光照處理單元I裝載并運行本文算法。

(1) 從視點經屏幕像素點射向場景的光線采用光線追蹤方法計算面片上的輻射亮度,只取離視點最近的面片,所以大量的計算在光線與對象表面的求交運算,采用自適應細分立方體空間[16]

的方法來減少求交計算量;

(2) 從視點投射光線到屏幕第一個像素,投射光線如與場景相交,則測試交點面片和所有光源是否相互可見,若不可見,則轉②,若可見則進行以下兩步:

① 計算一次反射貢獻的輻射亮度,根據光源的光照函數 I(x,y,z,θ,φ,λ)和面片的BRDF計算出射輻射亮度,并將面片BRDF材質的基加到該面片沿傳播路徑反射的輻射亮度L'(xe, x', P1(R, f'))中;

② 計算二次反射貢獻的輻射亮度,在該交點的法向半球內根據該面片的反射特性散射光線,如果與場景有相交,則按照相同方法,依次計算沿著散射光線出射的直接光照所形成的輻射亮度,并考慮面片上的紋理對二次反射的影響,再計算其所貢獻的經過兩次反射后到達視點的輻射亮度,將BRDF基加到L'(xe, x', P2(R, f'))上;

(3) 按照同樣方法依次掃描屏幕所有像素。

步驟4. 所有I處理單元計算的光照結果被分別保存在 2張和最終渲染結果相同分辨率的高動態范圍圖像(high dynamic range image,HDRI)中,以存儲更大范圍和更多細節的光照信息。

步驟5. 紋理采用RGB三通道紋理,所有的T處理單元紋理映射后,將結果保存為和最終渲染結果相同分辨率的紋理映射幀緩存中。

步驟6. 第一次反射作用于紋理貼圖,將第一次反射HDRI和紋理映射結果進行合成,然后再與第二張HDRI合成,就能實時刷新顯示屏幕,從而得到實時渲染效果。

步驟7. 討論。

(1) 當光源不變、材質不變、視角不變時,全局光照幀緩存和紋理映射緩存中的數據無需更新;

(2) 當光源改變、材質不變、視角不變時,需要將新的光源屬性參數代入重新計算,更新 L'(xe, x', P1(R, f'))和全局光照幀緩存;

(3) 當光源不變、材質光照屬性改變、視角不變時,需要修改 BRDF基的系數,更新全局光照幀緩存;

(4) 當光源不變、材質不變、視角改變時,需要重新進行求交運算,查找面片的輻射亮度 L'(xe, x', P1(R, f')),值為0時需要計算輻射亮度,并進行更新,所有像素計算后更新全局光照幀緩存;當變換幾次視角后,所有面片的輻射亮度都將計算出來,以后視角變換(其他都保持不變),只需查找面片的輻射亮度值,無需再進行計算;

(5) 當光源不變、材質光照屬性不變、視角不變,但紋理改變時,需要更新紋理映射幀緩存;

(6) 面片的劃分由用戶確定,面片劃分粗糙,則會丟失細節,面片劃分過細,又會帶來巨大的計算代價,可以采用自適應劃分的方法來進行平衡。

3 實驗結果和分析

3.1 動態可變材質直接光照和全局光照比較

使用VC++2010和OpenGL4.1實現本文算法,硬件運行環境是Intel酷睿i7-2600四核CPU,8 G內存,Nvidia GeForce GTX 760顯卡。

實驗場景對象面片區域劃分,可根據對象模型的復雜度,進行合理劃分,GPU實現實時繪制。場景的渲染分辨率為800×600像素,參數ns∈[1, 200],Ns=500,Nb=10個基。

圖4所示場景magic-box的光源是頂部的一個面光源,魔方的Kd=0.2,Ks=0.4,白色和藍色墻壁的 Kd=0.3,Ks=0.3,地面的 Kd=0.2,Ks=0.4。圖 4(a)、(c)、(e)是直接光照的效果,可以看到陰影區全黑;圖4(b)、(d)、(f)是全局光照渲染效果,可以看到光源照不到的區域,由于光的反射也被照亮,圖 4(b)、(d)白色墻壁上有很明顯的滲色效果,被反射光照亮為紅色和藍色,陰影區域也被反射光照亮。圖 4(a)、(b)的場景漫反射明顯,圖 4(c)、(d)場景中的魔方、地面、中間墻壁高光明顯,墻面上的高光亮斑很明顯,魔方的高光也更強接近金屬色,圖 4(d)中的倒影很明顯。圖4(e)、(f)場景中的魔方賦予暗紋貼圖,地面賦予木紋貼圖,墻面賦予花紋墻紙貼圖,圖4(f)天花板和背面墻面接縫處滲色效果明顯,魔方和右側藍色墻面木紋投影到地面上的倒影也明顯。

3.2 高光對強反射性對象的焦散效果

焦散是全局光照的一個重要現象和特征。圖5所示的場景bracele采用點光源,觀察高光對強反射性對象的焦散效果,平面Kd=0.2,Ks=0.3,手環Kd=0.2,Ks=0.4。當高反射物體材質高光越強,焦散效果越明顯;接受反射光物體材質的高光越強,反射物體形成的倒影就越明顯。ns值越小漫反射明顯,ns值越大高光明顯。圖5(a)手環和平面的漫反射明顯;圖5(b)手環漫反射明顯,平面高光明顯反射強,手環有清晰倒影投影到平面上;圖5(c)手環

高光明顯,平面漫反射明顯,手環投射到平面上的焦散十分明顯且漂亮;圖5(d)手環和平面均高光明顯,手環投射到平面上的焦散和投影都十分明顯,但與圖5(c)略有不同。

圖4 場景材質可編輯,直接光照和全局光照比較((a)~(b)墻壁、地面、魔方ns=10;(c)~(f)墻壁、地面、魔方ns=180)

圖5 可變材質(修改BRDF參數)焦散效果

從場景magic-box和場景bracele的渲染結果比較分析可以看出,當場景材質變化(添加紋理貼圖改變對象表面圖案,通過參數ns的設置,調整對象表面的粗糙度,從而影響對象表面對漫反射光和高光的反射特性),本文算法能夠真實感受渲染場景全局光照有明顯效果,滲色和焦散效果明顯,渲染幀頻完全能夠滿足3D場景全局光照實時渲染要求,還可滿足3D場景和虛擬現實實時交互的編輯修改材質。

3.3 本文算法與傳統算法的比較和分析

以上兩個場景(場景magic-box:面數4 613,場景bracele:面數66 446)分別使用傳統光線跟蹤算法Raytracing、Monte Carlo Raytracing、Photon Mapping、K-D Tree Raytracing 和本文算法(BRDFCM-GPU)實現,實驗數據見表1。

表1 BRDFCM-GPU算法和其他算法渲染時間的比較(ms)

從表1可看出,本文算法(BRDFCM-GPU)比傳統光線跟蹤算法 Raytracing、Monte Carlo Raytracing、Photon Mapping渲染速度有極大的提升,在GPU中的運行比K-D Tree Raytracing渲染速度也有明顯的提升。BRDFCM-GPU算法在GPU中運行比在CPU中運行渲染速度又有明顯的加速效果,因為在 CPU中也可以實現線程間的并行,所以場景劃分面片數較少時,GPU的加速效果不明顯,但當面片數增加時,加速效果就越來越明顯。

3.4 GPU核心數對算法時間的影響

表2是teapot、magic-box、bracele和superman 4個場景在不同GPU核心數上運行本文算法花費渲染時間的比較。圖6是teapot、magic-box、bracele 和superman 4個場景在不同GPU核心數上運行本文算法花費渲染時間的折線圖。

比較表2中的數據和圖6中的折線,可以看出本文算法通過GPU并行計算實現了加速,隨著場景模型復雜度的增加,GPU的加速效果愈加明顯。

表2 不同GPU核心數渲染時間比較(ms)

圖6 隨著GPU核心數增加渲染時間加速

3.5 不同紋理分辨率對算法渲染時間(幀頻)的影響

對場景teapot、magic-box、bracele、superman中的對象分別賦予不同分辨率的紋理貼圖,花紋貼圖賦予場景teapot的茶壺對象,木地板貼圖賦予場景magic-box的地面對象,純黃色貼圖賦予場景bracele的手環對象,布紋貼圖賦予場景superman的衣服對象,紋理貼圖分辨率分別選取256×256、512×512和1024×1024,渲染時間見表3(渲染時間比較接近,所以用幀頻表示,方便比較)。從表3可看出紋理分辨率對最終的渲染時間有一定的影響,分辨率越大渲染時間越長(幀頻越小、速度越慢),所以在實際應用中,可根據需求適當設置分辨率,實現在渲染時間和渲染質量間尋求最佳平衡。

表3 不同紋理分辨率渲染時間(幀頻)比較

4 結 論

本文算法將全局光照問題分解為一組與材質線性相關問題的疊加,場景中的材質通過 BRDF的基表示,將BRDF空間離散采樣,通過PCA降維后得到較少數量的基,光照計算和紋理映射分別由GPU處理核心并行計算線性合成,實現了實時渲染的速度和效果。該算法在GPU上的運行性能明顯優于CPU。對于3D場景編輯時的實時更新和交互式系統用戶體驗具有重要意義,對于交互式游戲、虛擬現實、增強現實、可視化仿真、網絡可視化應用等領域的發展具有很大的推動和促進作用。

本文提出的是基于固定視點的快速實時繪制算法,當視點變化時,需要重新進行預計算,拓展支持動態視點是進一步要解決的問題。支持動態光源也是未來優化改進的方向。另外,隨著網絡硬件的發展和網絡速度性能的提升,網絡3D交互式實時再現將是未來發展方向,所以將本文算法向網絡環境遷移是未來研究的方向。

[1] Kaijya T J. The rendering equation [C]//SIGGRAPH’86 Proceedings of the 13 th Annual Conference on. New York: ACM Press, 1986: 143-150.

[2] Arvo J, Kirk D. Particle transport and image synthesis [C]// SIGGRAPH’90 Proceedings of the 17th Annual Conference on. New York: ACM Press, 1990: 63-66.

[3] Veach E, Guibas L J. Optimally combining sampling techniques for Monte Carlo rendering [C]// SIGGRAPH’95 Proceedings of the 22nd Annual Conference on. New York: ACM Press,1995: 419-428.

[4] Lafortune P E, Willems Y D. Bi-directional path tracing [C]// In Santo HP, Computer Graphics’93 Conference on. New York: ACM Press, 1993: 145-153.

[5] Veach E, Guibas L J. Bi-directional estimators for light transport [C]//Proceedings of the Fifth Eurographics Workshop on Rendering in Darmstadt. Berlin: Springer-Verlag, 1994: 147-162.

[6] Jensen W H. Global illumination using photon maps [C]//Proceedings of the Seventh Eurographics Workshop on Rendering in Porto, Portugal. Berlin: Springer-Verlag, 1996: 21-30.

[7] 陳 皓, 劉曉平. 基于光子映射的并行渲染算法[J]. 工程圖學學報, 2009, 30(3): 60-64.

[8] Zhou K, Hu Y, Lin S, et al. Precomputed shadow fields for dynamic scenes [J]. ACM Transactions on Graphics, 2005, 24(3): 1196-1201.

[9] 王莉莉, 楊 崢, 馬志強, 等. 基于梯度圖的微結構表面全局光照實時繪制[J]. 軟件學報, 2011, 22(10): 2454-2466.

[10] 儲璟駿, 楊 新, 高 艷. 使用GPU編程的光線投射體繪制算法[J]. 計算機輔助設計與圖形學學報, 2007, 19(2): 257-262.

[11] Zhou K, Hou Q M, Wang R, et al. Real-time KD-tree construction on graphics hardware [J]. ACM Transaction on Graphics, 2008, 27(5): 126-135.

[12] Yang X, Yang B, Wang P J, et al. MSKD: multi-split KD-tree design on GPU [J]. Multimedia Tools & Applications, 2014, (11): 1349-1364.

[13] Ben-Artzi A, Overbeck R, Ramamoorthi R. Real-time BRDF editing in complex lighting [J]. ACM Transactions on Graphics, 2006, 25(3): 945-954.

[14] 孫 鑫, 周 昆, 石教英. 可變材質的實時全局光照明繪制[J]. 軟件學報, 2008, 19(4): 1004-1015.

[15] Lafortune P E, Foo C S, Torrance E K, et al. Non-linear approximation of reflectance function [C]// SIGGRAPH’97 Proceedings of the 24th Annual Conference on. New York: ACM Press, 1997: 117-126.

[16] Angel E, Shreiner D. 交互式計算圖形學——基于OpenGL著色器的自頂向下方法[M]. 6版. 張榮華, 宋雨, 劉書剛, 等譯. 北京: 電子工業出版社, 2012: 411-413.

Global Illumination Real-Time Rendering Based on BRDF and GPU Parallel Computing

Wang Fang1, Qin Leihua2

(1. Department of Information Engineering, Zhengzhou Shengda College of Economics & Trade Management, Zhengzhou Henan 451191, China; 2. School of Computer Science & Technology, Huazhong University of Science & Technology, Wuhan Hubei 430074, China)

While raytracing, the screen image pixel is decomposed into the combination of radiance and texture of the patches, created as scene objects intersect with the casting ray. The radiance of each patch is calculated at the linear combination of the bases of bi-directional reflectance distribution function (BRDF), and able to be accelerated by graphics processing unit (GPU) parallel rendering. This paper presents a global illumination rendering algorithm based on BRDF and GPU parallel computation. With GPU parallel acceleration, through improving the efficiency of rendering, the algorithm achieves global illumination real-time rendering of the scene including dynamic interactive material. The key research: object surface’s multiple reflection characteristic is represented by linear combination of the basis of BRDF, so transforming the nonlinear problem to a linear one, thus improve the rendering efficiency. With GPU parallel acceleration, the algorithm calculates the object surface’s radiation energy and texture mapping and their linear combination, further improving the efficiency of rendering to meet the requirement of real-time.

global illumination; graphics processing unit; bidirectional reflectance distribution function; rendering equation; parallel computing

TP 391

10.11996/JG.j.2095-302X.2016050583

A

2095-302X(2016)05-0583-09

2016-01-14;定稿日期:2016-05-11

2015年度河南省重點科技攻關項目(152102210176)

王 芳(1973–),女,河南鄭州人,副教授,碩士。主要研究方向為全局光照、圖形圖像處理。E-mail:wangfang0278@163.com

秦磊華(1968–),男,湖北鄂州人,教授,博士。主要研究方向為網絡存儲系統。E-mail:abc_119@126.com

主站蜘蛛池模板: 日韩A∨精品日韩精品无码| 久久婷婷六月| 久久一本日韩精品中文字幕屁孩| 99精品视频九九精品| 国产乱视频网站| 成人噜噜噜视频在线观看| 亚洲中文字幕av无码区| 国产特级毛片| 呦女亚洲一区精品| 成人无码一区二区三区视频在线观看 | 国产精品部在线观看| 欧美在线三级| 成人精品免费视频| 一区二区理伦视频| 99在线小视频| 99久久精品国产精品亚洲| 在线观看欧美精品二区| 国产一区二区免费播放| 亚洲精品国产日韩无码AV永久免费网 | 国产精品伦视频观看免费| 成人伊人色一区二区三区| 欧美三级不卡在线观看视频| 国产精品女在线观看| 夜夜高潮夜夜爽国产伦精品| 成人午夜久久| 国产黄在线免费观看| 成人午夜久久| 欧美日一级片| 人妖无码第一页| 免费看美女自慰的网站| 欧美一级视频免费| 真人免费一级毛片一区二区| 国产在线拍偷自揄观看视频网站| aⅴ免费在线观看| 久久综合色88| h视频在线观看网站| 国产亚洲精品91| 国产91丝袜在线播放动漫 | 国产在线精品香蕉麻豆| 中文纯内无码H| 色综合天天视频在线观看| 丰满的少妇人妻无码区| 免费国产小视频在线观看| 亚洲色欲色欲www在线观看| 999福利激情视频| 亚洲欧美不卡| 香蕉99国内自产自拍视频| 性做久久久久久久免费看| 亚洲美女一级毛片| 国产成人综合日韩精品无码不卡| 天堂网国产| 综合久久久久久久综合网| 国产精品浪潮Av| 亚洲性视频网站| 99re精彩视频| 国产精品久久国产精麻豆99网站| 国产精品55夜色66夜色| 亚洲日韩在线满18点击进入| 国产精品一老牛影视频| 亚洲欧美一级一级a| 亚洲第一视频网站| 大香网伊人久久综合网2020| 一级福利视频| 伊人成人在线| 在线观看国产精美视频| 亚洲精品片911| 国产亚洲精品资源在线26u| 三级视频中文字幕| 2022精品国偷自产免费观看| 亚洲精品国产综合99| 久久久波多野结衣av一区二区| 精品国产自在在线在线观看| 日韩欧美网址| 四虎综合网| 亚洲无码高清视频在线观看| 特级aaaaaaaaa毛片免费视频 | 亚洲国产日韩视频观看| 欧美日韩综合网| 99精品久久精品| 精品亚洲麻豆1区2区3区| 久久伊伊香蕉综合精品| 中文一级毛片|