光照模型與面繪制算法_第1頁
光照模型與面繪制算法_第2頁
光照模型與面繪制算法_第3頁
光照模型與面繪制算法_第4頁
光照模型與面繪制算法_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章光照模型與面繪制算法對物體進行透視投影,然后在可見面上產(chǎn)生自然光照效果,實現(xiàn)場景的真實感顯示。(彩圖1.15,1.36等)繪制真實感圖形涉及物理學(xué)和心理學(xué)兩個方面。光(電磁能)經(jīng)過和周圍具體環(huán)境的互相作用后到達人的眼睛,刺激人的眼睛(在人的眼睛里,發(fā)生物理和化學(xué)變化),生成人腦所能感知的電脈沖,使我們“看見”物體。一個光照明模型(illuminationmodel)(明暗模型主要用于物體表面某點光強度的計算。面繪制算法(surface-renderingalgorithm)是通過光照模型中的光強度計算,確定場景中物體表面的所有投影象素點的光強度。面繪制有二種方法:1將光照模型應(yīng)用于每個可

2、見面的每一點(如光線跟蹤算法)2經(jīng)過少量的光照模型計算,在面片上進行亮度插值(掃描線方法)圖形學(xué)中的真實感成像包括兩部分內(nèi)容:1物體的精確圖形表示;2場景中光照效果的物理描述,如:光的反射,透明性、陰影表面紋理等。光照模型包含許多因素:物體類型:物體的透明度,物體表面可以是光亮的、陰暗的;物體表面的紋理;2物體相對于光源的位置;3光源的屬性:形狀、顏色、位置4觀察平面的位置和方向等。光強度的計算量較大,如較精確的計算模型:輻射度算法,考慮場景中光源與物體表面間輻射能量的傳遞,計算強度。大多數(shù)軟件包采用簡化的光照計算和經(jīng)驗?zāi)P停ㄈ鏿hong模型,Gouraud模型等)1光源觀察一個不透明不發(fā)光的

3、物體時,從物體表面得到反射光.(從光源發(fā)出的,或從周圍物體獲得的)光源:發(fā)光物體:燈泡、太陽;反射光源:房屋的墻壁。有時一個光發(fā)物體,既是光源又是反射體,如:一個塑料球內(nèi)放置一個燈泡,球表面上既發(fā)光也反射光。光源分為:離場景足夠遠的1點光源:是發(fā)光體的最簡單的模型。如太陽、小燈泡光源、比物體小得多的光源。光線由光源向四周發(fā)共用散。2分布式光源:如:日光燈,與場景中面片比不足夠小。光線被投射到一個物體后會:1)被反射:反射光線的強弱由表面的材質(zhì)類型決定;)被吸收;)被折射(透明物體)。表面光滑的材質(zhì),反射較多的入射光,吸收較少的入射光;表面粗糙的物體往往將發(fā)射光向各個方向散射:漫反射(光線的散射

4、現(xiàn)象)。反射包括:1)漫反射;粗糙的物體表面將反射光向各個方向散射=從各個視角觀察到的光亮度幾乎相同。物體的顏色實際上就是入射光線被漫反射后表現(xiàn)出的顏色。如:一束白光照在一個藍色物體-藍色被反射其它的被吸收;紅光-藍色物體,物體為黑色(紅光被吸收)。2)鏡面反射:磨光的物體表面上產(chǎn)生高光或強光。2、基本光照模型在基本光照模型中,假設(shè)所有的光源均為點光源,且已知其位置和光強度(顏色)它是一中簡單有效的方法。在基本光照模型中光線的計算,主要基于物體表面的材質(zhì),背景光線條件及光源。一、環(huán)境光一個物體表面即使不直接暴露于光源之下,只要其周圍的物體被照明,它也可能看得見。環(huán)境光(ambientlight

5、):或稱背景光(泛光),是場景的基準(zhǔn)光亮度。特點:沒有空間或方向上的特征,在所有方向上和所有物體表面上投射的環(huán)境光數(shù)量恒定不變。表示:la,表示場景中的環(huán)境光大小。因而由環(huán)境光產(chǎn)生的反射光與觀察方向和物體表面的朝向無關(guān)。k環(huán)境光的反射常數(shù)(k:01)a:a由環(huán)境光產(chǎn)生的反射光強度:I=k*I.ambdiffaa點光源漫反射、k:漫反射率(diffusereflectivity)漫反射系數(shù),d表示入射光線被漫反射部分的百分比.與物體各表面的材質(zhì)屬性有關(guān)。是物體顏色的函數(shù),設(shè)為常數(shù)。理想漫反射體(Lambert反射體):光線被物體表面漫反射后向各個方向以等光強度發(fā)散,與觀察方向無關(guān).所以從表面上任

6、意點所發(fā)散的光線可由朗伯余弦定律計算而得。(P391圖14.8)I=R*Icos(0)ldiffdlI:點光源強度;l0:入射角;0:00-900光強度決定于它獲得的幅射能.面片的光亮度依賴于它與光源的相對朝向,與入射光方向垂直的面片同一個與入射光方向成斜面的面片相比,其光亮程度要大得多(可看成入射光的強度不同).(P391圖14.9)N:物體表面的單位法向量L:從表面上指向點光源的單位方向,則cos(0)=NL;由光源的漫反射光強為:I=k*I(NL)ldiffdl所以物體的漫反射光強為:I=k*I+k*I(NL).ldiffaadl物體離光源近,強度大.物體離光源遠,強度小.I=k*I+k

7、*I(NL)/(D+K).ldiffaadlK為常數(shù)(使分母不為0).(例P391,P392)三、鏡面反射和Phong模型當(dāng)觀察一個光照下的光滑物體表面,如磨光的金屬,可能在某個觀察方向上看到高光或強光鏡面反射。在接近鏡面反射角的一個會聚區(qū)域內(nèi)入射光的全部或絕大部分成為反射光。鏡面反射時,反射角=入射角(P393圖)對于理想的反射體,當(dāng)屮=0時,才能觀察到反射光線;(屮:觀察方向與反射方向的夾角)對于非理想反射體系統(tǒng),其鏡面反射方向分布在R周圍的有限范圍內(nèi)。光滑表面的鏡面反射范圍小,粗糙表面的鏡面反射范圍大。Phong鏡面反射模型:(Phong模型):鏡面反射光強度與cos)成正比屮:0090

8、。鏡面反射參數(shù)n:由被觀察的物體表面材質(zhì)所決定.sn大:光滑表面,n100,理想的反射器ns-ssn?。捍植诒砻?,n1,煤渣n1sss鏡面反射的光強度主要由物體表面材質(zhì)屬性,光線入射角,入射光顏色等因素決定用鏡面反射系數(shù)W(0):近似表示鏡面反射光強度的變化,它是入射角0的函數(shù)。0:00-900I=W(0)*1*COSns(屮)=W(0,入)*1*COSns(屮).入:光的波長。speclli=1對于6的大部分范圍,反射強度小于入射光的10%(P393圖14.14)。w(e)或w(e,入)比較復(fù)雜,實用時常根據(jù)美學(xué)觀點或?qū)嶒灁?shù)據(jù)用常數(shù)k代替。sI=k*I*cosns(屮)=k*I*(VR)ns

9、specslsl(P394圖14.16)R+L=2(NL)N,R=2(NL)N-L.例P395圖14.17,對于不同的k和n的光照效果。ss(彩圖14.19)簡化的phong模型:用cos(a)代替cos)計算(P395圖14.18)cos(a)=NH,H:方向L與V的角平分線方向,a為法線方向N與H的夾角。簡化計算:1觀察者與光源離物體表面足夠遠,且V與L均為常量,則H為常量,NH比VR計算量小(為了求R,需要先計算N)2對于給定的光源和視點,H方向是觀察方向上產(chǎn)生最大鏡面反射的面片的朝向,所以H有時為面片高光最大的表面的法方向(N=H)O3.若V與L、R、N共面,則a=屮/2;否則a屮/2

10、(不共面時)屮+(0-a)=0+a四、多光源漫反射和鏡面反射的合并單個點光源,表面上某點處的漫反射和鏡面反射為I=I+Ildiffspec=k*I+k*I(NL)+k*1*(NH)ns.aadlsl若在場景中放置多個點光源I=I+Ildiffspec=k*I+丫I(k*(NL)+k*(NH)ns).aalids為了保證每個象素的光強度不超過某個上限,采取一些規(guī)范化操作。1)對光強度計算公式設(shè)置上限,超過上限,取上限(簡單);2)將各項除以最大項的絕對值;3)計算出場景中各象素的強度,然后按比例變換到正常的光強范圍內(nèi)(復(fù)雜)五、Warn模型Warn模型提供一仲模擬立體光照效果的方法,它是通過在多

11、個方向上控制光強度來實現(xiàn)。在Warn模型中,光源被表示為一個反射面上的許多點,對各點采用phong模型進行計算,通過設(shè)置phong模型中各項的值來控制不同方向上的光強度。六、強度衰減光線從一點光源出發(fā)在空間中傳播時,它的強度按1/d2進行衰減(d為光線i=1經(jīng)過的路程長度)所以在真實感圖形顯示中,光照明模型中必須考慮光強度的衰減。如果不考慮光強度的衰減,二個有相同光學(xué)效果的平行表面互相遮擋時,它們將無法被區(qū)分開來,顯示成為一張面。但不可簡單地用1/d2作為衰減因子。常用的二次衰減函數(shù)的倒數(shù):f(d)=1/(a+ad+ad2)012調(diào)整a、a、a的值,可得到場景中不同的光照效果。012a的作用:

12、防止d很小時,f(d)太大0f(d)=min(1,1/(a+ad+ad2)012基本光照模型:I=k*I+f(d)I(k*(NL)+k*(NH)ns).aailidsd:光線從點光源I出發(fā)所經(jīng)過的路程.ii七、顏色在RGB描述中,場景中的每個顏色用R、G、B三個分量表示,用RGB各分量來標(biāo)識光源強度和物體表面顏色,并據(jù)光照模型來計算反射光線中的RGB分量。反射系數(shù)標(biāo)識為三元分量k=(k,k,k),ddRdGdB物體為藍色0WkWl,k=0,k=0dBdRdGI=k*I+f(d)I(k*(NL)+k*(NH)ns).BaBaBilBidBsBi=1每個表面定義漫反射和鏡面反射的顏色向量,將反射參

13、數(shù)定義為單值常數(shù);I=k*S*1+乞f(d)I(k*S*(NL)+k*S*(NH)ns).BadBaBilBiddBssBi=1漫反射顏色分量:(s,S,S)dRdGdB鏡面反射顏色發(fā)量(s,S,S)sRSGSB使用光譜波長入來表示彩色中的各分量(各種波長的光的反射系數(shù)不同)I=k*S*1+工f(d)I(k*S*(NL)+k*S*(NH)ns).入ad入a入il入iddAss入i=1八透明度透明物體的表面會產(chǎn)生反射光和折射光,折射光的相關(guān)貢獻決定于表面的透明程度(透明表面后是否有光源或表面)要表示一個透明表面時,將穿過表面的光線的貢獻包括進去。(彩圖14.26)圖P39814.25折射率:定義

14、為光線在真空中的速度與其在物質(zhì)中速度之比率。P398圖14.27sin(o)=丄sin(0).TOC o 1-5 h zr耳ir折射的最終結(jié)果是將入射光線進行平移.透射方向T=(丄cos(o)-cos(o)N-丄L耳ir耳rr=-cos(o)N+sin(o)(Ncos(o)-L)/sin(o).rriiT可用于計算折射光與透明面片后的物體的交點.將折射效果考慮在場景顯示中,可生成高度真實感的圖形,但計算量相當(dāng)大。在實際操作中,簡化,不考慮折射導(dǎo)致的路經(jīng)平移,(即物體間折射率不變,入射角=折射角)以加速光強度的計算。透明系數(shù)k,0WkW1標(biāo)識多少背景光線被透射tt物體表面的總光強:I=(1-k)

15、I+kItreflttransI:反射強度(透明表面)reflI:透射強度(背景物體)transk=0:不透明面tk=1:高度透明面t1-k為透明因子t馬赫帶效應(yīng)(奧地得物理學(xué)家):當(dāng)觀察畫面上具有常數(shù)光強的區(qū)域時,在其邊界處眼睛所感到的明亮度常常會超出實際值,它使得光強為常數(shù)的區(qū)域看上去似乎是光強度發(fā)生了變化(更暗或更暗)九陰影當(dāng)觀察方向與光源方向重合時,觀察者看不到任何限影,但當(dāng)二者不一致時,就會出現(xiàn)限影,限影歙人感到畫面上景物的遠近深淺,從而極大地增強畫面的真實感。陰影由二部分組成:本影位于中間的全黑的輪廓分明的部分,點光源只產(chǎn)生本影半影本影周圍半明半暗的區(qū)域,位于有限距離內(nèi)的分布光源則

16、同時形成本影和半影陰影分二類:自身陰影物體自身的遮擋使光線照不到它上面的某些面,自身隱藏面投射陰影物體遮擋光線,使場影中位地它后面的物體或區(qū)域受不到光照而形成P388例可以光源投射光線將所胡非自身隱藏面投影到場景中而得到投影面與場景中其它平面的交線組成陰影多邊形(實際上,只需先找到物體的輪廓線并將它對場景作投影,而不必將所有非自隱藏面一一投影到場景中。陰影決定于光源的位置而與觀察者的位置無關(guān),可將陰影看作表面圖案而保存在模式數(shù)組中。3光強度顯示由光照模型計算出的光強度值必須轉(zhuǎn)換為特定的圖形系統(tǒng)中的一種強度等級,才能進行顯示系統(tǒng):多種強度等級:光強度=幀緩沖器中的強度等級每個象度顯示二個等級(開

17、、關(guān))強度=半色調(diào)模式一分配強度等對光強度的感覺是按對數(shù)等變化5、多邊形緩制算法物體通常用多邊形網(wǎng)格來逼近曲面體(或僅是多面體)掃描線算法從光照模型來實現(xiàn)多邊形面片的繪二種方法:將每個多邊形用單一光強來繪制用掃描法得到面上各點的光強度一恒定光強度的明暗處理又稱平面明暗處理(flstshading)每個多邊形均對應(yīng)一個光強度,即面上所有均用相同的強度值來顯示,速度快,對于快速顯示一個曲面的大致外觀很有效適用條件:1、物體是一個多面體,而不是含曲面物體伯近似表示2、光源離物體表面足夠遠,以使N、L與和衰減函數(shù)對物理表面是一個常數(shù)3、視點離物體表物足夠遠,使N、R對表面是常數(shù)即使以上條件均不成立,可

18、以每個小面片中心的光強度值作為該面片的值二、Gouraud明暗處理采用強度插值模式在面片上將光強度值進行線性插值來繪制多邊形面片,每個多邊形的強度值沿著化共邊與相鄰多邊形的值相接以消除在平面繪制中存在的光強度不連續(xù)現(xiàn)象。Gouraud明暗處理的步驟:1、確定每個多邊形頂點處的平均單位法向量2、對每個頂點根據(jù)光照模型計算光強度3、在多邊形表面上將頂點光強進行線性插值頂點V的法向量確定V點的光強度(運用光照模型)沿多邊形邊對強度進行插值對每條掃描線與多邊形的交點處的強度值通過二個端點的強度插值得到下一掃描線可用增量法插值計算當(dāng)表面用彩色進行繪制時,頂點處需計算各個顏色分量的強度P399例5)不足:

19、線性光強度插值會造成表面上出現(xiàn)過亮或過暗的條紋,稱為馬赫帶(mach-band)效應(yīng)面上的高光有時會出現(xiàn)異常形狀。三、Phong明暗處理(仍屬于線性插值)(法向量插值明暗處理)多邊形面繪制的一個更精確的方法是對向量插值,然后在面上各點處理根據(jù)光照模型進行計算。它能更真實地表現(xiàn)物體表面的高光效果并大大降低馬赫帶效應(yīng)。Phong明暗處理的步驟:1、確定每個多邊形頂點處近似單位法向量2、在多邊形面上將頂點法向量進行雙線性插值3、根據(jù)光照模型沿每條掃描線計算面上各點的強度1)先求出A、B、C、D處的法向量線性求出Q、R處的法向量,線性插值求出P點的法向量沿掃描線各象表處的法向量可按增量方法計算二個相鄰

20、的象素位置Phong模型與Gouraud模型對光強度的計算結(jié)果精確,但增加了大量的計算四、快速Phong明暗處理采用近似計算來加快速度利用Taylor一層式和三角形面片來近似計算光強度1、求得三角面片各頂點法向量2、三角形中任意點(x,y)處的表面法向量N=Ax+By+C3、忽略反射率的衰減函數(shù)點(x,y)處的光源漫反射對一個平面來說是確定值(對三角形內(nèi)的點)Idiff(x,y)為二次多項式,利用向前差分,二階差分為常數(shù),對每個象素僅需二次加法的計算量,大大降低了計算量,但仍相當(dāng)于Gourand模型2倍的時間。6光線跟蹤算法光線跟蹤(Raytracing)是光線投射思想的延伸,基本光線跟蹤算法

21、為可見面判別,明暗效果,透明及多光源照明等提供了可能。光線跟蹤技術(shù)雖然能夠生成高度其實感的圖形,特別是對于表面光滑的物體,但它所需的計算量卻大得驚人。一、基本光線跟蹤算法1、建立一個以投影面為xy平面的坐標(biāo)系統(tǒng),在該坐標(biāo)系內(nèi)對場景進行描述。2、從投影中心出發(fā),確定穿過每個屏幕象素中心的光線路經(jīng),沿這束光線累計光照度,并凈最終值賦給象素。物體表面該繪制算法建立于幾何光學(xué)基礎(chǔ)上場景中的面片所發(fā)出的光向四周散射,將有無數(shù)條光線穿過場景,但只有少量將穿過投影平面的象素單元。從象素單元出發(fā),反向跟蹤一條向由它出發(fā)射向場景的光線并同時累計得到該象素的光強度值每象素只考察一束光線,類似于通過單孔照相機觀察場

22、景。一、生成光線跟蹤樹1、對每個象素,光線,需測試場景中的所有物體表面以確定是否與該光線相交并計算出交點離象素的距離。2、具有最小距離的交點即為該象素所對應(yīng)的可見面3、考察該可見面上的反射光線(反射角=入射角)若透明,還需考察透過該面的折射光線,反射光線和折射光線統(tǒng)稱為從屬光線(Secondaryrays)4、遞歸地與沿從屬光線方向最近的物體表面上生成下一折射和反折射。如此逐個將相交物體表面加入到一個二叉光線跟蹤樹中如P403圖14-52樹的左分支表示反射光線右分支表示透射光線最大深度可由用戶選定或由存儲容量決定當(dāng)樹中的一束光線到達預(yù)定的最大深度或到達某光源時停止跟蹤。3、計算象素點的光強度值

23、從光線跟蹤樹的葉節(jié)點開始,累計光強度貢獻以確定某象素處的光強度,接后序遍歷相應(yīng)的光線追蹤樹,在樹中每個結(jié)點處,遞歸地調(diào)用光照模型,每一結(jié)點處的光強值在輸入到結(jié)點之前,按光線與兩表面交點之間的距離進行衰減。象素強度是光線跟蹤樹根結(jié)點處衰減光強的總和。球,三角塊,立方體均不透明,表面具有高度的鏡面反射能力,觀察者能看到球立方體的正面,還能看到三角塊的幾個映象和立方體的背面特別地:1)若光線跟蹤樹為空,即象素光線與V物體均不相交,光強值為背景色2)若象素光線與一非反射的光源相交,光強值為光源的強度(距離衰減)二、光線與物體表面的求交計算光線是一射線:最初P:投影參考點或投影平面上的某象素點U:由投影

24、參考點與象素位置確定(單位向量)光線與物體表面相交時P由交點代替替U由交點處的從屬光線代替(反射光線方向R透射光線方向T光線與物體表面相交1、確定物體表面的平面方程(過法向N)2、若給定一個半徑為r,中心為P的球面,則球面方程設(shè)則若svO,則光線與球面不相交,否則取較小的s,求出交點P=若球半徑較小,計算過程中,可能出現(xiàn)誤差,則r可能被丟失多面體與球面比較,求交時間更長1、利用包圍體作求交測試包圍體:球體或立方體光線與包圍體不交,則不必對多面體作測試光線與包圍體相交,首先找到“前表面”U、NvO前面才與光線相交另外,交點可能不在多邊形邊界內(nèi),通過內(nèi),外測試,確定光線是否與多面體的該表面相交,求

25、出很多交點,選一個所有內(nèi)點中距離P最近的點作為交點三、減少物體求交計算量光線跟蹤過程中,約95%的時間用于光線與物體表面的求交計算如何減少求交計算時間1、包圍體方法:層次結(jié)構(gòu)的包圍體(球、體)將幾個包圍體在一個更大的包圍體中,首先測試最外層的包圍體,根據(jù)需要,逐個測試各層的包圍體2、空間分割方法將場景包含在一個立方體中,然后將立方體分割直到每個小立方體包含的物體表面或面片數(shù)小于等于一個預(yù)定的值。分割二種方法:均勻分割一個立方體分割為8個相同大小的體元適應(yīng)性細分僅對包含物體的立方體區(qū)域進行分割分割單元采用一棵八叉樹或二叉分割樹存儲矛盾單元大小每個單元所有面片數(shù)目面數(shù)小=單元小=花較多的時間在單元測試上面數(shù)大=一個單元中比較的面數(shù)多光線與立方體單求交(僅需與前表面求交)若單元表面法向量與坐標(biāo)軸對齊則:前表面出口表面只要檢查分量的符號,即可確定三個可能的出口表面選擇最小的s

溫馨提示

  • 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

提交評論