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

?

3D場(chǎng)景全局光照研究與實(shí)現(xiàn)

2014-10-17 21:44:25王芳王天順
電腦知識(shí)與技術(shù) 2014年26期

王芳 王天順

摘要:隨著科技的發(fā)展網(wǎng)絡(luò)的提速,人們對(duì)于3D場(chǎng)景的應(yīng)用越來(lái)越多,體驗(yàn)需求不斷提高。3D場(chǎng)景的真實(shí)感繪制需要建立相應(yīng)的物理光照模型,考慮光線(xiàn)傳播過(guò)程中的多次反射折射現(xiàn)象。根據(jù)物體表面對(duì)光線(xiàn)的反射特性,可以建立物理模型,重點(diǎn)介紹了Phong模型。真實(shí)感光照繪制算法主要有兩種,光線(xiàn)追蹤和輻射度算法,分別分析了兩種算法實(shí)現(xiàn)原理和實(shí)現(xiàn)細(xì)節(jié),并分別使用兩種算法實(shí)現(xiàn)3D場(chǎng)景的繪制,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析比較。

關(guān)鍵詞:局部光照;全局光照;Phong模型;光線(xiàn)跟蹤;輻射度;排列因子

中圖分類(lèi)號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)26-6231-05

Abstract: With the high development of network technology, 3D scene is more and more applied in people's lives, the demand of experience increases.A real 3D scene rendering requires the establishment of corresponding physical illumination model, considering the multiple reflection and refraction of light in the process ofLight propagation. According to the characteristic of the object surface reflection of light, can establish physical model, focuses on the Phong model. The true light rendering algorithm mainly have two kinds, raytracing and radiosity algorithms, respectively, analyzed two kinds of algorithm principle and implementation details, and use two kinds of algorithms achieve rendering 3D scenes, and the experimental results are analyzed and compared.

Key words: local illumination; Global Illumination;Phong Model; Raytracing;Radiosity;Form factor

我們能看到3D場(chǎng)景中的物體,是因?yàn)橛泄庠凑丈?,光源發(fā)出的光線(xiàn)落在物體表面,部分被吸收,部分被反射出去,并對(duì)場(chǎng)景的照明和亮度做出貢獻(xiàn)。真實(shí)場(chǎng)景光照包括直接光照和間接光照,直接光照是由光源發(fā)射出的直接光線(xiàn)形成的光照效果,間接光照是對(duì)象表面反射光線(xiàn)形成的照明效果。局部光照(local illumination)只考慮直接光照,全局光照(Global Illumination)既要考慮直接光照,也要考慮間接光照。所以全局光照是根據(jù)設(shè)計(jì)好的三維場(chǎng)景,包括所有物體和光源,渲染生成具有真實(shí)感的圖像。要考慮和模擬光線(xiàn)傳播的各種物理現(xiàn)象,如反射、折射、陰影、焦散等。這不僅需要對(duì)場(chǎng)景中各種物體的幾何特性和材質(zhì)屬性的精確描述,還需要求解計(jì)算多次反射、折射帶來(lái)的無(wú)限微積分問(wèn)題。在網(wǎng)絡(luò)發(fā)達(dá)的今天人們對(duì)3D場(chǎng)景的應(yīng)用和體驗(yàn)需求不斷提高,而全局光照計(jì)算的復(fù)雜性,使得人們投入更多精力研究3D場(chǎng)景真實(shí)感繪制和呈現(xiàn)。

研究者研究提出了多種真實(shí)感繪制方法。Kajiya首先提出使類(lèi)似于隨機(jī)采樣的蒙特卡羅(Monte Carlo)方法求解繪制方程的光線(xiàn)追蹤算法(Raytracing), 通過(guò)對(duì)到達(dá)圖像平面上的光線(xiàn)路徑進(jìn)行采樣,然后估計(jì)它們對(duì)最終圖像的貢獻(xiàn)來(lái)生成圖像。Arvo改進(jìn)后,提出了等價(jià)的逆向粒子追蹤算法(backward particle tracing)。Veach通過(guò)使用多重重要性采樣策略(optimally combining sampling),極大的提高了光線(xiàn)追蹤算法的適應(yīng)性和效率。Jensen提出了光子映射(Photon Mapping)算法,它是包括生成光子圖和光子收集兩階段的算法,大大加速了圖像的生成速度,并能有效地計(jì)算全局光照中的焦散(caustics)和滲色(color bleeding)等間接光照現(xiàn)象。Sloan提出PRT實(shí)時(shí)繪制算法,周昆提出陰影場(chǎng)實(shí)時(shí)繪制算法,孫鑫提出基于預(yù)計(jì)算的可變材質(zhì)的實(shí)時(shí)繪制算法,材質(zhì)用BRDF函數(shù)的基的不同線(xiàn)性組合表示,預(yù)計(jì)算每種組合下的所有出射輻射度,按照各材質(zhì)投影到基上的系數(shù),線(xiàn)性組合預(yù)計(jì)算數(shù)據(jù),把非線(xiàn)性問(wèn)題轉(zhuǎn)換為線(xiàn)性的,更有效的實(shí)現(xiàn)實(shí)時(shí)全局光照。

1 3D場(chǎng)景局部光照繪制

對(duì)于一個(gè)真實(shí)場(chǎng)景,光線(xiàn)是必不可少的,光線(xiàn)的來(lái)源可以是真實(shí)光源,也可以是從對(duì)象表面反射或折射所產(chǎn)生的。對(duì)場(chǎng)景中對(duì)象的外觀輪廓的呈現(xiàn),可以通過(guò)建立幾何模型實(shí)現(xiàn),而對(duì)象的真實(shí)感繪制呈現(xiàn),則需要通過(guò)建立接近真實(shí)的物理模型來(lái)實(shí)現(xiàn)。

3D場(chǎng)景真實(shí)感繪制的具有代表性的開(kāi)創(chuàng)性工作有,1970年Bouknight提出的第一個(gè)光反射模型,1971年Gourand提出的基于“漫反射模型與插值”思想的Gourand模型,1975年P(guān)hong提出的著名簡(jiǎn)單光照模型Phong模型。Phong模型及它的改進(jìn)模型Blinn-Phong模型至今仍在使用,比如著名的3D軟件3dsMax中的基于它們的Blinn、Phong明暗器。

真實(shí)環(huán)境中對(duì)象表面的顏色及紋理是經(jīng)光源照射后反射到人眼中的表現(xiàn)效果,這就涉及到光源的特性及對(duì)象表面的紋理反射特性。人類(lèi)視覺(jué)系統(tǒng)模型是以三基色理論為基礎(chǔ)的,是人眼感知的三刺激值,而不是光線(xiàn)能力按波長(zhǎng)的完整分布,所以可以將光源建立為包含紅Red、綠Green、藍(lán)Blue三個(gè)分量的模型。對(duì)象表面對(duì)光源的反射作用分為環(huán)境光反射Ambient、漫反射Diffuse和高光反射Specular。對(duì)象表面某點(diǎn)繪制效果的每一個(gè)顏色分量的能量都來(lái)源于這三種反射,對(duì)象表面所呈現(xiàn)的效果是由接收到入射光線(xiàn)后所反射的出射光線(xiàn)決定的,所以,對(duì)象表面某點(diǎn)處接收光源i的出射光線(xiàn)能量[Ii]如式(1) 所示。

[Ii=RraLra+RrdLrd+ RrsLrsRgaLga+RgdLgd+RgsLgsRbaLba+ RbdLbd+RbsLbs] (1)

式中第一行表示對(duì)象表面反射光源環(huán)境光紅色分量、漫反射光紅色分量和高光紅色分量的能量和,類(lèi)似第二行和第三行分別是反射漫反射色的紅色分量、綠色分量和藍(lán)色分量的能量和反射高光的各顏色分量能量和。其中[Rra]表示對(duì)象表面對(duì)入射環(huán)境光紅色分量的反射率,[Lra]表示入射環(huán)境光紅色分量的能量,[Rgd]表示對(duì)象表面對(duì)入射漫反射光綠色分量的反射率,[Lbs]表示對(duì)象表面對(duì)入射高光藍(lán)色分量的反射率。

環(huán)境光作用在對(duì)象表面所有點(diǎn)處都是相同的,對(duì)象表面對(duì)環(huán)境光的反射率就是對(duì)環(huán)境光的反射系數(shù)[ka],所以對(duì)象表面反射環(huán)境光的能量為[kaLa]。

2 3D場(chǎng)景全局光照繪制

Phong模型定義了對(duì)象表面某點(diǎn)處的直接光照效果,要實(shí)現(xiàn)整個(gè)3D場(chǎng)景的真實(shí)感光照效果,還要考慮光線(xiàn)在對(duì)象表面間的多次反射,進(jìn)行復(fù)雜的積分計(jì)算。在計(jì)算機(jī)3D場(chǎng)景中,實(shí)現(xiàn)全局光照明主要有兩種方法:光線(xiàn)追蹤和輻射度。

光線(xiàn)追蹤算法是基于從光源發(fā)射出的無(wú)數(shù)條光線(xiàn)。在3D場(chǎng)景中,從光源發(fā)出的光線(xiàn)有無(wú)數(shù)多條,射中對(duì)象后又會(huì)產(chǎn)生無(wú)數(shù)反射光線(xiàn)和折射光線(xiàn),這使得場(chǎng)景中的光線(xiàn)驟增,所以直接追蹤從光源發(fā)射出的光線(xiàn)變得異常艱難。但我們發(fā)現(xiàn)從光源發(fā)出的光線(xiàn)及通過(guò)反射折射后,能夠到達(dá)人眼的光線(xiàn)數(shù)量所剩無(wú)幾,因此采用逆向的光線(xiàn)追蹤方法,即從人眼出發(fā),只關(guān)心進(jìn)入人眼的那部分光線(xiàn),這樣可極大的減少追蹤光線(xiàn)數(shù)和計(jì)算量。

輻射度算法是基于面片多次反射的光能量累積。首先將3D場(chǎng)景中的對(duì)象劃分為相接但不重疊的多個(gè)網(wǎng)格面片,從光源發(fā)出的光碰到一個(gè)面片,該面片將儲(chǔ)存接受的光,并根據(jù)輻射度值和反射率反射光線(xiàn)到場(chǎng)景中,其他面片接收到反射光,將其加入到自己的光能量中,不斷重復(fù)該過(guò)程,直到兩次迭代的差值低于設(shè)定的閾值,所以輻射度算法是一個(gè)逐步求精的過(guò)程,計(jì)算可以中斷后繼續(xù)執(zhí)行,不影響最終渲染效果。對(duì)于不真實(shí)的對(duì)象表面需要?jiǎng)澐譃楦?xì)小的網(wǎng)格。

盡管經(jīng)典繪制方程的形式比較簡(jiǎn)單,但求解該方程卻并不容易,需要在點(diǎn)[x']的單位半球上對(duì)來(lái)自所有方向的入射光線(xiàn)積分,且方程中的x,x', x''都是三維空間中的點(diǎn),每一個(gè)都分別涉及三個(gè)坐標(biāo)[x、y、z],這三個(gè)點(diǎn)就涉及9個(gè)變量,這種精確求積分的方法復(fù)雜費(fèi)時(shí)。

2.1.2 蒙特卡羅光線(xiàn)追蹤(Monte CarloRaytracing)

人們嘗試使用數(shù)值方法求解繪制方程。Kajiya擴(kuò)展給出了Monte Carlo方法求解繪制方程的光線(xiàn)追蹤算法(Raytracing), 通過(guò)對(duì)到達(dá)圖像平面每一個(gè)像素點(diǎn)上的光線(xiàn)路徑隨機(jī)采樣進(jìn)行逆向追蹤,即在積分半球上以概率函數(shù)[ρ]采樣[N]個(gè)方向,然后估計(jì)它們對(duì)最終圖像的貢獻(xiàn)來(lái)生成圖像,如式(7) 所示。

傳統(tǒng)光線(xiàn)追蹤渲染的圖像太清晰整齊劃一、陰影明顯、反射沒(méi)有模糊失真效果,適合于像晴天正午太陽(yáng)光等強(qiáng)光照射效果,而更多的場(chǎng)景需要軟陰影模糊陰影,需要對(duì)圖像進(jìn)行反走樣處理。根據(jù)使用像素區(qū)域平均顏色代替中心顏色的思想,可以通過(guò)對(duì)像素區(qū)域隨機(jī)采樣,實(shí)現(xiàn)圖像的反走樣。將點(diǎn)光源擴(kuò)展到面光源,將光源看做是多個(gè)點(diǎn)光源的隨機(jī)采樣,采用Monte Carlo方法可以實(shí)現(xiàn)軟陰影。

2.2.3 漸進(jìn)式逐步求精算法

通常一個(gè)簡(jiǎn)單的3D場(chǎng)景中的總面片數(shù)達(dá)到了[103]數(shù)量級(jí),在實(shí)際場(chǎng)景真實(shí)感繪制中,對(duì)每一個(gè)面片求解輻射度值,會(huì)消耗大量的計(jì)算時(shí)間??的螤柟ぷ鹘M采用了漸進(jìn)式的逐步求精算法,來(lái)提高計(jì)算效率。

我們將輻射度求解過(guò)程轉(zhuǎn)化為一個(gè)迭代過(guò)程,設(shè)置一個(gè)初始的預(yù)估解,后面每次迭代以上一次的估計(jì)值為基礎(chǔ)進(jìn)行修正計(jì)算出更接近真實(shí)值的估計(jì)值,重復(fù)迭代過(guò)程直至收斂為止。面片的初始值這樣設(shè)定:如果面片是光源或自發(fā)光對(duì)象,初始解設(shè)定為發(fā)射的輻射度值,如果是其他面片,則初始值為0。通過(guò)一次迭代,直接被光源照射的面片將被點(diǎn)亮,它們的輻射度值將被更新,不再為0。這些被點(diǎn)亮的面片通過(guò)光線(xiàn)反射,又會(huì)點(diǎn)亮它所能照射到的面片,更新這些面片的輻射度值,這個(gè)過(guò)程不斷重復(fù)下去,直至面片反射光線(xiàn)的輻射度值低于某個(gè)預(yù)設(shè)的閾值(低于該閾值的光線(xiàn)對(duì)場(chǎng)景照明的貢獻(xiàn)可以忽略)結(jié)束。隨著迭代的進(jìn)行(即光線(xiàn)的不斷反射),場(chǎng)景逐漸明亮起來(lái)。每次迭代過(guò)程只計(jì)算高于輻射度閾值的面片對(duì)場(chǎng)景其他面片的輻射度貢獻(xiàn),大大減少了計(jì)算量,提高了效率。

每次迭代經(jīng)過(guò)這樣幾個(gè)步驟:(1) 選擇(未發(fā)射)輻射度最高的面片[ai],(2) 計(jì)算面片[ai]到場(chǎng)景中所有能夠被照射到的其他面片[aj]的排列因子,(3) 計(jì)算更新每一個(gè)被[ai]照射到的面片[aj]的輻射度值,(4) 修改面片[aj]的(未發(fā)射)輻射度值。

漸進(jìn)式逐步求精的繪制結(jié)果可以產(chǎn)生從黑暗到完全照亮的所有中間場(chǎng)景效果,可以在任一次迭代后暫停,渲染場(chǎng)景觀察繪制效果,然后繼續(xù)迭代計(jì)算,渲染場(chǎng)景,直至滿(mǎn)意為止。在前幾次迭代計(jì)算后,場(chǎng)景還比較黑暗,為了得到基本可用的場(chǎng)景初始圖,可以設(shè)置一個(gè)環(huán)境光,以使未被直接照亮對(duì)象表面獲得一定的光照,這個(gè)環(huán)境光將隨著迭代的深入而逐漸減弱。

參考文獻(xiàn):

[1] Kajiya J. The Rendering Equation[J]. In Computer Graphics (SIGGRAPH 86 Proceedings), 1986, 8(20): 143-150.

[2] Arvo J.Backward raytracing. In Course Notes of the 1986 Conference on Computer Graphics and Interactive Techniques,1986(12): 230-238.

[3] Arvo J,Kirk D.Particle transport and image synthesis[J],ACM SIGGRAPH Computer Graphics,1990,24(4): 63-66

[4] Veach E,Guibas L J.Optimally combining sampling techniques for Monte Carlo rendering[J].In SIGGRAPH 95 Proceedings,1995,8(2): 419-42.

[5] Veach E, Guibas L J. Metropolis light transport. Proceedings of the 24th annual conference on Computer graphics and interactive techniques, 1997: 65-76.

[6] Henrik Wann Jensen. Importance driven path tracing using the photon map[J].In Rendering Techniques'95, 1995: 326-335.

[7] Henrik Wann Jensen. Gloabal Illumination Using Photon Maps[J] ,Euro-graphics Rendering Workshop,1996: 21-30.

[8] Sloan PP, Kautz J, Snyder J. Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments. In Fiume E, ed. Proc. of the SIGGRAPH 2002. New York:ACM Press, 2002: 527-536.

[9] Zhou K, Hu Y, Lin S, Guo B, Shum H. Precomputed shadow fields for dynamic scenes. In Hart JC, ed. Proc. of the SIGGRAPH 2005. New York:ACM Press, 2005: 1196-1201 .

[10] McAllister, David K., and Anselmo A. Lastra. 2003. "The SBRDF Home Page." Web site.

[11] RomeiroF,VelhoL.Computer Graphics Brazil:Scalable GPU rendering of CSG model[J]. Computer and Graphics,2008,32(5)

[12] LehtinenJ,Zwicker M. A meshless hierarchical representation for light transaction on Graphics,2008,27(3):1-9

[13] PacanowskiR,Raynaud M. Efficient streaming of 3D scenes with complex geometry and complex lighting[C].Proceedings of the 13th International Symposium,2008:11-17.

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

[15] 張金貴,王普,閆健卓,等.基于光線(xiàn)跟蹤方法的全局光照研究[J].計(jì)算機(jī)科學(xué),2010,37(4):27-30.

湘潭市| 永年县| 龙岩市| 印江| 高唐县| 永定县| 额敏县| 尉氏县| 郸城县| 仲巴县| 翁牛特旗| 乌鲁木齐县| 郴州市| 高州市| 富平县| 霍州市| 保康县| 汉寿县| 双鸭山市| 沅陵县| 姚安县| 德庆县| 瑞昌市| 宁海县| 太仓市| 白沙| 北流市| 焦作市| 乾安县| 武定县| 牙克石市| 化州市| 通州区| 固始县| 岗巴县| 凤台县| 老河口市| 新河县| 太白县| 大荔县| 贵溪市|