光照模型課件_第1頁
光照模型課件_第2頁
光照模型課件_第3頁
光照模型課件_第4頁
光照模型課件_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第八章真實感圖形的繪制

用計算機在圖形設(shè)備上生成連續(xù)色調(diào)的真實感圖形必須完成四個基本的任務(wù)。用數(shù)學(xué)方法建立所構(gòu)造三維場景的幾何描述,并將它們輸入計算機。這部分工作可由三維立體造型或曲面造型系統(tǒng)來完成。場景的幾何描述直接影響圖形的復(fù)雜性和圖形繪制的計算費用,選擇合理而有效的數(shù)據(jù)表示和輸入手段是極其重要的。2.

將三維幾何描述轉(zhuǎn)換為二維透視圖。這可通過對場景的透視變換來完成。1確定場景中的所有可見面,這需要使用隱藏面消除算法將被其它物體遮擋的不可見面消去。

4.計算場景中可見面的顏色,嚴(yán)格地說,就是根據(jù)基于光學(xué)物理的光照明模型計算可見面投射到觀察者眼中的光亮度大小和顏色組成,并將它轉(zhuǎn)換成適合圖形設(shè)備的顏色值,從而確定投影畫面上每一象素的顏色,最終生成圖形。23

在光柵圖形系統(tǒng)上顯示的三維圖形的真實感取決于能否成功地模擬明暗效應(yīng),這要求設(shè)計較好的明暗模型,用以計算可見表面應(yīng)該顯示的亮度和彩色。明暗模型并不需要精確地考慮真實世界中光線和表面的性質(zhì),而只需要在兼顧精確程度和計算成本的要求下,追求更好的顯示效果。通常設(shè)計一個明暗模型需要考慮的主要問題是照明特性、表面特性和觀察角度。5照明特性是指可見表面被照明的情況,主要有光源的數(shù)目和性質(zhì),環(huán)境光及陰影效應(yīng)等。表面特性主要是指表面對入射光線的反射、折射或透明的不同情形,還有表面的紋理及顏色等。觀察角度是指觀察景物時觀察者相對可見表面所在的位置。已經(jīng)有許多不同的明暗模型都較好地處理了上述各問題。不同明暗模型的區(qū)別主要在于模擬的方法,實現(xiàn)的復(fù)雜程度,及取得的顯示效果等方面。6

一般來說,明暗模型可以分解為三個部分,即漫射照明、具體光源的照射及透射效應(yīng)。具體光源的照明產(chǎn)生的效果又分為漫反射和鏡面反射兩部分。漫射照明

漫反射明暗模型具體光源的照射鏡面反射透射效應(yīng)。7

為了表現(xiàn)自然界中的陰影,在應(yīng)用光照模型時還需要物體表面是否位于陰影區(qū)內(nèi),以取舍相應(yīng)光源的照明影響。更精致的真實感圖形繪制還要考慮物體表面的細節(jié)紋理,這可以通過一種稱為“紋理映射”的技術(shù)把已有的平面花紋圖案映射到物體表面上,并在應(yīng)用光照明模型時將這些花紋的顏色考慮進去。物體表面細節(jié)的模擬使繪制的圖形更接近自然景物。

9

1011

2.漫反射

具體光源在物體表面可以引起漫反射和鏡面反射。漫反射是指來自具體光源的能量到達表面上的某一點后,就均勻地向各個方向散射出去,使得觀察者從不同角度觀察時,這一點呈現(xiàn)的亮度是相同的。這樣漫反射與觀察者的位置是無關(guān)的。通常不光滑的粗糙表面總是呈現(xiàn)出漫反射的效果。

Lambert定律指出,漫反射的效果與表面相對于光源的取向有關(guān),即:

其中Id是漫反射引起的可見表面上一點的亮度。Ip是點光源發(fā)出的入射光線引起的亮度。Kd是漫反射系數(shù),取值在0到1之間,隨物體材料不同而不同。θ是可見表面法向N和點光源方向L之間的夾角,即入射角,它應(yīng)該在0°到90°之間。

13漫反射系數(shù)kd介于0,1之間的球面,在一點光源照射下產(chǎn)生的漫反射。

ka=0.0kd=0.00.20.40.60.81.0NL平面14

假定向量N和L都已經(jīng)正規(guī)化,即已經(jīng)是長度為1的單位向量,這樣就可以使用向量的數(shù)量積或內(nèi)積。因為這時于是得:Id=Ip·Kd·(L·N)(3)

15但事實上公式(5)實際應(yīng)用的效果不好。因為對于平行投影,光源在無窮遠處,故距離R成為無窮大。對于透視投影,1/R2也常常有很大的數(shù)值范圍而使效果不好。一種比較逼真的效果,可通過用r+k代替R2來獲得:I=Ia·Ka+Ip·Kd·(L·N)/(r+k)(6)其中r是光源到表面的距離,k是根據(jù)經(jīng)驗選取的一個常數(shù)。在許多情形中,與景物的內(nèi)部距離相比,光源與景物之間的距離大得多。例如太陽光照射一個城市的情形。在這種情形中,可以假定從光源發(fā)出的照明作用在整個景物上是恒定的,而可以完全不考慮由于距離所引起的變化。

173.鏡面反射與Phong模型鏡面反射是指來自具體光源的光能到達可見表面上的某一點后,主要沿著由入射角等于反射角所決定的方向傳播,從而使得觀察者從不同角度觀察時,這一點呈現(xiàn)的亮度并不相同。在任何有光澤的表面上都可以觀察到鏡面反射的效果。在理想的光澤表面上,例如在非常好的鏡面上,反射光線只是在由入射角等于反射角所確定的方向上才有。這意味著只有當(dāng)觀察者相對表面的方向V與反射光線的方向R之間的夾角為零時,才能看到鏡面反射引起的反射光線。對于不是非常理想的光澤表面,例如一個蘋果,反射光線引起的亮度隨著的增大而迅速下降。

18

由PhongBui-Tuong提出的光照明模型,用來近似反射光線引起的亮度隨著增大而下降的速率。

n取值一般在1到2000之間,決定于反射表面的有關(guān)性質(zhì)。對于理想的反射表面,n就是無窮大。這里選用

,是以經(jīng)驗觀察為基礎(chǔ)的。

LNRV指向點光源反射方向指向觀察點19

對W(θ),通常根據(jù)經(jīng)驗選取一個常數(shù)Ks來代替,這樣公式(7)可寫成下面更容易計算的形式:

實驗表明,應(yīng)用計算公式(8)已經(jīng)可以得到很好的具有明暗表現(xiàn)的畫面,這個公式是形成具有明暗表現(xiàn)畫面的良好基礎(chǔ)。

21

對于彩色表面,上述各公式也可以應(yīng)用,只需分別應(yīng)用于對各顏色分量的計算。例如,選擇通常的紅、綠、藍顏色系統(tǒng),這時上述公式中有關(guān)亮度及反射系數(shù)等,就要看做是三元向量。通過分別對各顏色分量進行計算,就可以完成對彩色表面的亮度計算。

224.光的衰減光在傳播的過程中,其能量會衰減。光的傳播過程分為兩個階段:從光源到物體表面的傳播及從物體表面到人眼的傳播。光的第一個傳播階段的衰減使物體表面的入射光強度變?nèi)酰诙€階段的衰減使人眼接受到的物體表面的反射光的強度變?nèi)?,總的效果是使物體表面的亮度下降。23

以上的衰減函數(shù)很簡單,但應(yīng)用于本節(jié)的光照模型常常不能產(chǎn)生好的效果。雖然這種變化規(guī)律對點光源來說是正確的,但真實的世界中物體并不是以點光源照射的。為了彌補點光源的不足,產(chǎn)生真實感更強的圖形,一個有效的衰減函數(shù)的取法如下:

f(d)=min(1/(C0+C1d+C2d2),1)

用戶可以調(diào)節(jié)C0,C1,C2的值以控制f(d)變化的快慢,常數(shù)C0用來防止f(d)變得過大。f(d)的最大值為1。

考慮f(d),得到光照明計算式

I=KaIa+f(d)Ip[Kd(L·N)+Ks(R·V)n]

25

為模擬光在這段傳播過程中的衰減,許多系統(tǒng)采用深度暗示技術(shù)(DepthCueing)。深度暗示技術(shù)最初用于線框圖形的顯示,使距視點遠的比近的點暗一些。經(jīng)過改進,這種技術(shù)現(xiàn)在同樣適用于真實感圖形的顯示。首先,在投影坐標(biāo)系(記為xyz)中定義兩個平面Z=Zf,Z=Zb,分別為前參考面與后參考面,并賦予比例因子Sf和Sb(Sf,Sb∈[0,1])。

2)光在物體表面到人眼過程中的衰減26

亮度I(由光照明模型記算出來的值)按比例S0與亮度Idc混合,目的是獲得最終用于顯示的亮度I’,Idc由用戶指定,I’=S0I+(1-S0)Idc

特別地,若取Sf=1,Sb=0,Idc=0,則當(dāng)物體位于前參考面之前(Z0>Zf)時,I’=I,即亮度沒有被衰減。當(dāng)物體位于后裁剪面之后(Z0<Zb〉時,I’=Idc=0,即亮度被衰減為0。而當(dāng)Z0∈[Zb,Zf]時,I’=S0I,亮度被部分衰減。由此可以產(chǎn)生真實效果較好的圖形。29第二節(jié)多邊形網(wǎng)的明暗處理多邊形網(wǎng)方法是指用若干多邊形表面去擬合任意形狀復(fù)雜形體的方法。對用多邊形網(wǎng)方法表現(xiàn)的任意形體,形成明暗有三種基本的方法:常數(shù)明暗法(均勻著色法)亮度插值明暗法(Gouraud著色方法)法向量插值明暗法(Phong著色方法)這三種方法每個比前一個復(fù)雜。在應(yīng)用這三種方法時,各種實際計算亮度的明暗模型都可以使用。301.常數(shù)明暗法常數(shù)明暗法又稱均勻著色法,就是對每個多邊形表面,整個地用一個亮度值(或顏色值)。應(yīng)用這種方法,應(yīng)該有以下假設(shè)成立:(1)光源在無窮遠處。這樣在多邊形表面上的任意點,上節(jié)討論過的L·N是常數(shù)。觀察者在無窮遠處。這樣在多邊形表面上的任意點,上節(jié)討論過的R·V也是常數(shù)。(3)該多邊形表面代替了被模擬的真實表面,而并不是對一個曲面的近似。如果前面兩個假設(shè)不管那一個不成立,那么有關(guān)的量,例如L和V,可以采用平均值,比方采用在多邊形表面中心處求得的值。31

假設(shè)(3)常常會產(chǎn)生較大誤差。這時用來逼近曲面的各多邊形表面可能會被分辨出來。由于每個小面與其相鄰的小面在亮度上常有差別,所以在顯示圖形時就能看到這種差別,這種差別由于Mach帶效應(yīng)而得到加強。Mach帶效應(yīng)是指當(dāng)亮度發(fā)生不連續(xù)的突然變化時,看上去會有一種邊緣增強的感覺。視覺上會感到邊緣的亮側(cè)更亮,暗側(cè)更暗。Mach帶效應(yīng)是一種由人類視覺系統(tǒng)加工處理而產(chǎn)生的一種感受現(xiàn)象。32332.Gouraud方法亮度(或顏色)插值明暗法,通常被稱為Gouraud著色方法。這種方法可以消除多邊形面上亮度變化的不連續(xù)性,但是不能完全消除由于Mach帶效應(yīng)引起的亮或黑的帶。增加逼近空間形體的多邊形表面的數(shù)目,Mach帶效應(yīng)可以隨之減弱。

34亮度(或顏色)插值明暗法處理過程有以下四個步驟:(1)計算各多邊形表面的法向量。(2)計算各頂點的法向量。這里頂點的法向,指共享該頂點的所有多邊形表面法向的平均值。如果有一條邊是作為邊界準(zhǔn)備顯示出來的,可以對這條邊的每個頂點,計算兩個法向量,每個是一側(cè)各邊形表面法向量的平均值。

35(3)計算各頂點的亮度。因為各頂點的法向已經(jīng)求得,所以已經(jīng)可以利用上節(jié)討論的計算亮度的公式進行計算。

(4)計算各多邊形表面上任意點處的亮度值,實行對多邊形表面的明暗處理。做法是先利用頂點的亮度值,在邊上做線性插值,求得邊上的亮度值。再用之在掃描線上做線性插值,從而求得多邊形面內(nèi)任意點處的亮度值。363738

沿多邊形各邊的亮度插值可以很容易地與以前討論過的多邊形填充的掃描線算法結(jié)合起來。對于每一條邊,可以將起始亮度和在y方向上單位長度所發(fā)生的亮度變化值存貯起來。算法運行時,每前進一條掃描線,就對變化值做一次加法。在每條掃描線上,用截得多邊形線上的亮度做線性插值。

393.Phong方法該方法稱為法向插值著色方法或Phong著色方法。這個方法是對法向量進行插值,而不是對亮度進行插值。在求得各頂點法向后,求多邊形邊上各點及多邊形面內(nèi)任意點處法向所用的插值方法,與亮度插值明暗法中進行插值計算的方法相同。因此這個插值也可以很好地應(yīng)用前面提到的掃描線算法。

40

求得掃描線上每點的法向量后,在每點處實際計算亮度,可以應(yīng)用任何一種光照明模型。如果應(yīng)用鏡面反射,比起亮度插值法會得到明顯的改進,因為強光能更加真實地得到反映。即使不應(yīng)用鏡面反射,法向插值的結(jié)果也比亮度插值的結(jié)果好。這是因為對每一點都使用法向量的近似值,使得可以減少Mach帶效應(yīng)引起的問題。但另一方面,對每一點都要計算亮度,使得計算量大為增加。

41Phong方法繪制多邊形的步驟:(1)計算多邊形的單位法矢量。(2)計算多邊形頂點的單位法向量。(3)在掃描線消隱算法中,對多邊形頂點的法向量進行雙線性插值,計算出多邊形內(nèi)部(掃描線上位于多邊形內(nèi)部)各點的法向量。4243同樣,采用如下增量方法可以提高計算速度。當(dāng)掃描線y遞增一個單位變?yōu)閥+1時,NA,NB的增量分別為△NA,△NB,即

其中當(dāng)x遞增一個單位(P點沿掃描右移一個單位)時,NP增量為△NP即其中

(4)利用光照明模型計算P點的顏色。44Phong著色方法中,多邊形上每一點需要計算一次光照明模型,因而計算量遠大于Gouraud著色方法。但是Phong著色方法繪制的圖形更加真實,特別體現(xiàn)在如下兩個場合(考慮要繪制一個三角型)。

如果鏡面反射指數(shù)n較大,三角形左下角的頂點a(R與V的夾角)很小,而另兩個頂點的a很大,以光照明模型計算的結(jié)果是左下角頂點的亮度非常大(高光點),另兩個頂點的亮度小。若采用Gourauf方法繪制,由于它是對頂點的亮度進行插值,導(dǎo)致高光區(qū)域不正常地擴散成很大一塊區(qū)域。而根據(jù)n的意義,當(dāng)n較大時,高光區(qū)域?qū)嶋H應(yīng)該較集中。采用Phong方法繪制的結(jié)果更符合實際情況。45當(dāng)實際的高光區(qū)域為與三角形中間時,采用Phong方法能產(chǎn)生正確的結(jié)果,而若采用Gouraud方法,由于按照光照明模型計算出來的三個頂點處的亮度都較小,線性插值的結(jié)果是三角形中間不會產(chǎn)生高光區(qū)域。46FlatGouraudPhong47陰影可以分為本影和半影。本影:景物表面上未被任何光源直接照射到的區(qū)域。半影:景物表面被部分光源照射但沒被全部光源照射到的半明半暗的區(qū)域。點光源:光線由光源出發(fā)向四周發(fā)散,和場景中物體相比,光源很小且距離景物足夠遠。分布式光源:光源與場景中的物體相比不夠小,且距景物較近,這時需計算光源外表面各點所共同產(chǎn)生的光照。單一點光源只能產(chǎn)生本影。而線光源、面光源或分布式光源可同時產(chǎn)生本影和半影。第三節(jié)陰影

48本影半影無影分布式光源

本影的計算簡單,半影計算復(fù)雜。我們只考慮本影的計算。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論