![最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件_第1頁](http://file4.renrendoc.com/view/31a5122061b5169c88851b12551fb559/31a5122061b5169c88851b12551fb5591.gif)
![最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件_第2頁](http://file4.renrendoc.com/view/31a5122061b5169c88851b12551fb559/31a5122061b5169c88851b12551fb5592.gif)
![最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件_第3頁](http://file4.renrendoc.com/view/31a5122061b5169c88851b12551fb559/31a5122061b5169c88851b12551fb5593.gif)
![最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件_第4頁](http://file4.renrendoc.com/view/31a5122061b5169c88851b12551fb559/31a5122061b5169c88851b12551fb5594.gif)
![最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件_第5頁](http://file4.renrendoc.com/view/31a5122061b5169c88851b12551fb559/31a5122061b5169c88851b12551fb5595.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)1兩種顯示方式的比較
基于物體空間的顯示:這種顯示方式首先將要顯示的對象表示為相互連接的多邊形(通常是三角形)面片;然后通過一條所謂的圖形繪制管線將每一個(gè)三角形繪制到屏幕上。當(dāng)所有面片都處理完畢后,就得到了一幅完整的真實(shí)感圖像。這種顯示方式有圖形硬件的支持,顯示速度很快,通常用于交互設(shè)計(jì)。但它的真實(shí)感程度稍遜。典型應(yīng)用:交互設(shè)計(jì)、游戲。 基于圖像空間的顯示:這種顯示方式逐個(gè)計(jì)算屏幕象素點(diǎn)的顏色,以獲得整個(gè)屏幕的圖像。它采用光線跟蹤算法,通過逆向跟蹤通過屏幕象素的光線路徑,并累加路徑上光線貢獻(xiàn),得到該象素點(diǎn)的色彩。這種顯示方式可以生成超真實(shí)的圖像,是生成最終效果圖的主要方法。典型應(yīng)用:廣告。兩種顯示方式的比較 基于物體空間的顯示:這種顯示方式首先將要2最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件3最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件4最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件5最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件6最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件7最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件8三刺激空間:R、G、B三原色(其實(shí)是X、Y、Z)的單位向量定義了一個(gè)三維顏色空間,該三維向量空間稱為(R、G、B)三刺激空間。色度圖:為了在二維空間中表示顏色,取三刺激空間中的截面(R)+(G)+(B)=1。該截面與三個(gè)坐標(biāo)平面的交線構(gòu)成一個(gè)等邊三角形,稱為色度圖。對于三刺激空間中坐標(biāo)為X、Y、Z的顏色刺激向量,它與色度圖的交點(diǎn)坐標(biāo)(x,y,z)被稱為色度值:CIE色度圖:把可見光色度圖投影到XY平面上,所得到的馬蹄形區(qū)域稱為CIE色度圖。馬蹄形區(qū)域的邊界和內(nèi)部代表了所有可見光的色度值,邊界彎曲部分代表了光譜在某種純度為百分之百的色光。XYZ0111三刺激空間:R、G、B三原色(其實(shí)是X、Y、Z)的單位向量93)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確方法,但是,它的應(yīng)用還是比較復(fù)雜的。在計(jì)算機(jī)圖形學(xué)中,通常使用一些通俗易懂的顏色模型。所謂顏色模型就是指某個(gè)三維顏色空間中的一個(gè)可見光子集,它包含某個(gè)顏色域的所有顏色。顏色模型的用途是在某個(gè)顏色域內(nèi)方便地指定顏色。由于每一個(gè)顏色域都是可見光的子集,所以任何一個(gè)顏色模型都無法包含所有的可見光。3)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確10RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模型。它采用紅、綠、藍(lán)為原色,各個(gè)原色混合在一起可以產(chǎn)生復(fù)合色,被稱為加色系統(tǒng)。通常采用單位立方體來表示。RGB三原色混合效果RGB立方體RGB顏色模型:RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模11CMY顏色模型:以紅、綠、藍(lán)的補(bǔ)色青(Cyan)、品紅(Magenta)、黃(Yellow)為原色構(gòu)成的CMY顏色模型,常用于從白光中濾去某種顏色,被稱為減色系統(tǒng)。CMYK顏色模型:CMYK:Cyan青,Magenta品紅,Yellow黃,blacK黑。取黑色的根本原因是青、品紅、黃三色混合常產(chǎn)生“灰”黑。與采用三色顏色疊印相比,使用單一顏色印刷顯然更易干燥,而且黑墨水比彩色墨水便宜。在CMYK系統(tǒng)中,黑色被用于代替等量的青、品紅、黃三色K=min(C,M.Y)C=C-KM=M-KY=Y-K這個(gè)過程稱為底色去除。CMY顏色模型:CMYK顏色模型:12XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標(biāo)和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確方法。由于涉及顏色的工業(yè)部門都各有一套顏色描述的規(guī)則和慣例。采用CIE色度坐標(biāo)有助于這些工業(yè)部門之間顏色信息的傳遞和轉(zhuǎn)換。因此從CIE坐標(biāo)值到另一種顏色系統(tǒng)的變換及逆變換是引人關(guān)注的研究課題。計(jì)算機(jī)圖形學(xué)需要在CIEXYZ系統(tǒng)和RGB加色系統(tǒng)之間進(jìn)行轉(zhuǎn)換。由RGB顏色空間至CIEXYZ顏色空間的變換為其中Xr、Yr、Zr為生成單位量的R原色所需要的三刺激值,Xg、Yg、Zg以及Xb、Yb、Zb類同。只要將RGB顏色模型的三個(gè)分量帶入,就可以得到在CIEXYZ系統(tǒng)中的三刺激值。XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標(biāo)和三刺激值給136.2
光照明模型
當(dāng)光照射到物體表面時(shí),光線可能被吸收、反射和透射。被物體吸收的部分轉(zhuǎn)化為熱,反射、透射的光進(jìn)入人的視覺系統(tǒng),使我們能看見物體。為模擬這一現(xiàn)象,需要建立一些數(shù)學(xué)模型來替代復(fù)雜的物理模型,這些模型被稱為明暗效應(yīng)模型或者光照明模型。三維物體的圖形經(jīng)過消隱后,再進(jìn)行明暗效應(yīng)的處理,可以進(jìn)一步提高圖形的真實(shí)感。6.2光照明模型當(dāng)光照射到物體表面時(shí),光線可能被吸收、反141)光的傳播在正常的情況下,光沿著直線傳播,當(dāng)光遇到介質(zhì)不同的表面時(shí),會(huì)產(chǎn)生反射和折射現(xiàn)象,而且在反射和折射的時(shí)候,遵循反射定律和折射定律。(1)反射定律:入射角等于反射角,且反射光線、入射光線與法向量在同一平面上。(2)折射定律:折射角與入射角滿足,η1/η2=sinφ/sinθ且折射線在入射線與法線構(gòu)成的平面上,η1、η2為兩種介質(zhì)的折射率。(3)能量關(guān)系:在光的反射和折射現(xiàn)象中,能量是守恒的,能量的分布情況滿足:Ii=Id+Is+It+Iv其中:Ii為入射光強(qiáng),由光源引起;Id為漫反射光強(qiáng),由表面不光滑引起;Is為鏡面反射光強(qiáng),由表面光滑性引起;It為透射光,由物體的透明性引起;Iv為被物體所吸收的光,由能量損耗引起。1)光的傳播在正常的情況下,光沿著直線傳播,當(dāng)光遇到介質(zhì)不同156.3簡單光照明模型
簡單光照明模型模擬物體表面對光的反射作用。光源被假定為點(diǎn)光源,反射作用被細(xì)分為鏡面反射(SpecularReflection)和漫反射(DiffuseReflection)。簡單光照明模型只考慮物體對直接光照的反射作用,而物體間的光反射作用,只用環(huán)境光(AmbientLight)來表示。6.3簡單光照明模型簡單光照明模型模擬物體表面對光的反射16漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點(diǎn)無關(guān)。記入射光強(qiáng)為Ip,物體表面上點(diǎn)P
的法向?yàn)镹
,從點(diǎn)P指向光源的向量為L,兩者間的夾角為θ,則漫反射光強(qiáng)為:Id=Ip*Kd*cos(θ)θ∈(0,π/2)其中,Kd是與物體有關(guān)的漫反射系數(shù),0<Kd<1。當(dāng)L、N為單位向量時(shí):Id=Ip*Kd*(L·N)在有多個(gè)光源的情況下,有如下表示:Id=Kd∑Ipi*(Li·N)在RGB顏色模型下,漫反射系數(shù)Kd有三個(gè)分量Kdr,Kdg,Kdb分別代表RGB三原色的漫反射系數(shù),它們是反映物體的顏色的,通過調(diào)整它們,可以改變物體的顏色。同樣,我們也可以把入射光強(qiáng)I設(shè)為三個(gè)分量Ir,Ig,Ib,通過這些分量的值來調(diào)整光源的顏色。PNLθ1)理想漫反射漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點(diǎn)無關(guān)17對于理想鏡面,反射光集中在一個(gè)方向,并遵守反射定律。對一般的光滑表面,反射光集中在一個(gè)范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。因此,對于同一點(diǎn)來說,從不同位置所觀察到的鏡面反射光強(qiáng)是不同的。鏡面反射光強(qiáng)可表示為:Is=Ip*Ks*cosn(α),α∈(0,π/2)其中Ks是與物體有關(guān)的鏡面反射系數(shù),α為視線方向V與反射方向R的夾角,n為反射指數(shù),反映了物體表面的光澤程度,一般為1~2000,數(shù)目越大物體表面越光滑。鏡面反射光會(huì)在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象。同樣,將V和R都格式化為單位向量,鏡面反射光強(qiáng)可表示為:Is=Ip*Ks*(R·V)n對多個(gè)光源的情形,鏡面反射光強(qiáng)可表示為:Is=Ks∑[Ipi
(Ri·V)n]鏡面反射光產(chǎn)生的高光區(qū)域只反映光源的顏色,鏡面反射系數(shù)Ks是一個(gè)與物體的顏色無關(guān)的參數(shù)(與光潔程度有關(guān))。綜合前面已經(jīng)提到的,在簡單光照明模型中,我們只能通過改變物體的漫反射系數(shù)來控制物體的顏色。2)鏡面反射對于理想鏡面,反射光集中在一個(gè)方向,并遵守反射定律。對一般的18環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,最終達(dá)到平衡時(shí)的一種光。我們近似地認(rèn)為同一環(huán)境下的環(huán)境光,其光強(qiáng)分布是均勻的,它在任何一個(gè)方向上的分布都相同。例如,透過厚厚云層的陽光就可以稱為環(huán)境光。在簡單光照明模型中,我們用一個(gè)常數(shù)來模擬環(huán)境光:Ie=Ia·Ka其中:Ia為環(huán)境光的光強(qiáng),Ka為物體對環(huán)境光的反射系數(shù)。3)環(huán)境光環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,194)Phong光照明模型綜合上面介紹的光反射作用的各個(gè)部分,Phong光照明模型有這樣的一個(gè)表述:由物體表面上一點(diǎn)P反射到視點(diǎn)的光強(qiáng)I為環(huán)境光的反射光強(qiáng)Ia、理想漫反射光強(qiáng)Id、和鏡面反射光Is的總和,即:4)Phong光照明模型綜合上面介紹的光反射作用的各個(gè)部分,20在用Phong模型進(jìn)行真實(shí)感圖形計(jì)算時(shí),對物體表面上的每個(gè)點(diǎn)P,均需計(jì)算光線的反射方向R,再由V計(jì)算(R·V)。為減少計(jì)算量,我們可以作如下假設(shè):a)光源在無窮遠(yuǎn)處。即光線方向L為常數(shù);b)視點(diǎn)在無窮遠(yuǎn)處,即視線方向V為常數(shù);c)用(H·N)近似(R·V)。這里H為L和V的平分向量,H=(L+V)/|L+V|。在這種簡化下,由于對所有的點(diǎn)總共只計(jì)算一次H的值(N總是需要計(jì)算的),節(jié)省了計(jì)算時(shí)間。在用Phong模型進(jìn)行真實(shí)感圖形計(jì)算時(shí),對物體表面上的每個(gè)點(diǎn)21OpenGL對多邊形的處理: 多邊形頂點(diǎn)顏色使用Phone光照明模型計(jì)算,多邊形的填充使用Gouraud明暗模式。Gouraud明暗模式: 首先,通過頂點(diǎn)線性插值多邊形邊界象素的顏色;其次,通過掃描線與邊界的交點(diǎn)線性插值多邊形內(nèi)部象素顏色。 缺點(diǎn):不夠細(xì)致,對較大的多邊形最好進(jìn)行分解!OpenGL對多邊形的處理:226.4
光透射模型
對于透明(transparency)或半透明的物體,在光線與物體表面相交時(shí),一般會(huì)產(chǎn)生反射與折射(refraction),經(jīng)折射后的光線將穿過物體而在物體的另一個(gè)面射出,形成透射光。如果視點(diǎn)在折射光線的方向上,就可以看到透射光。
6.4光透射模型對于透明(transparency)或半231)透明效果的簡單模擬
顏色調(diào)和法:該方法不考慮透明體對光的折射以及透明物體本身的厚度,光通過物體表面是不會(huì)改變方向的,故可以模擬平面玻璃。設(shè)t是物體的透明度,t=0表示物體是不透明體;t=1表示物體是完全透體。我們所看到的顏色,是物體表面的顏色和透過物體的背景顏色的疊加。設(shè)過象素點(diǎn)(x,y)的視線與物體相交處的顏色(或光強(qiáng))為Ia,視線穿過物體與另一不透明物體相交處的顏色(或光強(qiáng))為Ib,則象素點(diǎn)(x,y)的顏色(或光強(qiáng))可由如下顏色調(diào)和公式計(jì)算:I=t*Ib+(1-t)*Ia其中,Ia和Ib可由簡單光照明模型計(jì)算。由于未考慮透射光的折射,以及透明物體的厚度,顏色調(diào)和法只能模擬玻璃的透明或半透明效果。1)透明效果的簡單模擬顏色調(diào)和法:該方法不考慮透明體對光242)Whitted光透射模型其中It’和Is’分別為折射方向和反射方向的入射光強(qiáng)度(非光源);Kt’和Ks’分別為透射系數(shù)和反射系數(shù),都是0-1之間的常數(shù),取決于物體的材質(zhì)。Ks和Ks’可以相同。這一模型于1980年由Whitted提出,并第一次給出了使用此模型的光線跟蹤算法范例。NθφθVIsItIp在簡單光照明模型的基礎(chǔ)上,加上透射光項(xiàng)就得到Whitted光透射模型:再加上鏡面反射光項(xiàng),就得到Whitted整體光照模型:2)Whitted光透射模型其中It’和Is’分別為折射方253)Hall光透射模型
Hall光透射模型是在Whitted光透射模型的基礎(chǔ)上推廣而來的。實(shí)際上,就是在Whitted模型的光強(qiáng)計(jì)算中加入光源引起的漫透射和規(guī)則透射。透明體的粗糙表面對透射光的作用表現(xiàn)為漫透射。如毛玻璃表面即為漫透射面。當(dāng)光線透過這樣的表面射出時(shí),光線將向各個(gè)方向散射。對理想漫透射面,透射光的光強(qiáng)在各個(gè)方向均相等。用Lambert余弦定律描述點(diǎn)P處的漫透射光的光強(qiáng)為:其中Ip為入射光的強(qiáng)度,Kdt為物體的漫透射系數(shù),在0與1之間。L為入射光的方向,N為面法線(-N為背面法線)。法線N入射方向L3)Hall光透射模型Hall光透射模型是在Whitte26對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他方向均見不到。對非理想透明物體,視點(diǎn)在透射方向附近也能見到部分透射光,但強(qiáng)度隨視線V與光線的折射方向T的夾角的增大而急劇減小。這種規(guī)則透射光的光強(qiáng)比漫透射光強(qiáng)高出好多倍,在折射方向周圍形成高光域,這個(gè)高光域的光強(qiáng)要比其周圍區(qū)域要大的多。Hall用下面的式子模擬透射高光現(xiàn)象:法線N入射方向L折射方向T視線V其中,It為規(guī)則透射光在視線方向的強(qiáng)度,Ip為入射光的強(qiáng)度;Kt為物體的透明系數(shù),n為反映物體表面光澤度的常數(shù)。對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他274)光透射模型
綜合簡單光照明模型,Whitted光透射模型和Hall光透射模型,可得簡單光反射透射模型(含有全局項(xiàng)):其中下標(biāo)i表示直接照射表面的光源,下標(biāo)j表示引起折射的光源;下標(biāo)ds表示漫反射,下標(biāo)s表示規(guī)則反射;下標(biāo)dt表示漫折射,下標(biāo)t表示規(guī)則折射;上標(biāo)’表示非光源項(xiàng);L表示光源方向;N表示法線方向;R表示反射方向;V表示視線方向;T表示折射方向。4)光透射模型綜合簡單光照明模型,Whitted光透射模型286.5整體光照明模型
簡單光照明模型雖然可以產(chǎn)生物體的真實(shí)感圖象,但它只考慮物體對直接光照的反射作用,不能很好的模擬光的折射和陰影等,也不能用來表示物體間的相互光照明影響;而基于簡單光照明模型的光透射模型,雖然可以模擬光的折射,但是這種折射的計(jì)算范圍很小,不能很好的模擬多個(gè)透明體之間的復(fù)雜光照明現(xiàn)象。對于上述的這些問題,必須要有一個(gè)更精確的光照明模型。整體光照明模型就是這樣的一種模型。在現(xiàn)有的整體光照明模型中,主要有光線跟蹤和輻射度兩種方法,它們是當(dāng)今真實(shí)感圖形學(xué)中最重要的兩個(gè)圖形繪制技術(shù),在CAD及圖形學(xué)領(lǐng)域得到了廣泛的應(yīng)用。6.5整體光照明模型簡單光照明模型雖然可以產(chǎn)生物體的真實(shí)291)光線跟蹤算法
光線跟蹤算法是真實(shí)感圖形學(xué)中的主要算法之一,該算法具有原理簡單、實(shí)現(xiàn)方便和能夠生成各種逼真的視覺效果等突出的優(yōu)點(diǎn),綜合考慮了光的反射、折射、陰影等。光線跟蹤的基本原理:模擬理想表面的光線傳播,跟蹤鏡面反射和折射。由光源發(fā)出的光線,經(jīng)反射與折射,只有很少部分可以進(jìn)入人的眼睛。因此光線跟蹤算法的跟蹤方向與光傳播的方向是相反,是視線跟蹤。由視點(diǎn)與象素(x,y)發(fā)出一根射線,與第一個(gè)物體相交后,在其反射與折射方向上進(jìn)行跟蹤。1)光線跟蹤算法光線跟蹤算法是真實(shí)感圖形學(xué)301)由光源產(chǎn)生的直接的光線照射光強(qiáng),是交點(diǎn)處的局部光強(qiáng),可以由簡單光照模型計(jì)算(但要考慮遮擋)。2)反射方向上由其它物體引起的間接光照光強(qiáng),由IsKs'
計(jì)算,Is通過對反射光線的遞歸跟蹤得到。3)折射方向上由其它物體引起的間接光照光強(qiáng),由ItKt'計(jì)算,It通過對折射光線的遞歸跟蹤得到。光線跟蹤算法的基本過程
當(dāng)視線與物體表面交于點(diǎn)P時(shí),點(diǎn)P的光分為三部分,把這三部分光強(qiáng)相加,就是P點(diǎn)處的總的光強(qiáng):兩個(gè)透明球和一個(gè)非透明物體組成場景的光線跟蹤光線跟蹤算法的基本過程當(dāng)視線與物體表面交于點(diǎn)31
雖然在理想情況下,光線可以在物體之間進(jìn)行無限次的反射和折射,但是在實(shí)際的算法進(jìn)行過程中,我們不可能進(jìn)行無窮的光線跟蹤,因而需要給出一些跟蹤的終止條件。實(shí)際應(yīng)用中,可以有以下幾種終止條件:①該光線未碰到任何物體。②該光線碰到了背景(即邊界)。③光線經(jīng)過許多次反射和折射以后,就會(huì)產(chǎn)生衰減。當(dāng)衰減系數(shù)小于某個(gè)給定的值時(shí),光線對于視點(diǎn)的光強(qiáng)貢獻(xiàn)很小,這時(shí)可以停止跟蹤。④光線反射或折射的次數(shù)(即跟蹤深度)大于給定的值。光線跟蹤終止條件 雖然在理想情況下,光線可以在物體之間進(jìn)行無限次的反射和折32光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起點(diǎn)為start,光線的方向?yàn)閐irection,光線的衰減權(quán)值為weight,初始值為1,算法最后返回光線方向上的顏色值color。對于每一個(gè)象素點(diǎn),第一次調(diào)用RayTracing()時(shí),可以設(shè)起點(diǎn)start為視點(diǎn),而direction為視點(diǎn)到該象素點(diǎn)的射線方向。RayTracing(start,direction,weight,color)
{
if(weight<MinWeight)
color=black;
else
{
計(jì)算光線與所有物體的交點(diǎn)中離start最近的點(diǎn);
if(沒有交點(diǎn))
color=black;
else
{
Ilocal=在交點(diǎn)處用局部光照模型計(jì)算出的光強(qiáng);
計(jì)算反射方向R;
RayTracing(最近的交點(diǎn),R,weight*Wr,Ir);//Wr:反射方向的衰減系數(shù)
計(jì)算折射方向T;
RayTracing(最近的交點(diǎn),T,weight*Wt,It);//Wt:折射方向的衰減系數(shù)
color=Ilocal+Ks·Ir+Kt·It;//Ks、Kt:該點(diǎn)的反射系數(shù)和透射系數(shù)
}
}
}//此算法只設(shè)置了兩個(gè)終止條件光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起33光線跟蹤算法舉例光線跟蹤算法舉例342)輻射度方法
輻射度方法是繼光線跟蹤算法后,真實(shí)感圖形繪制技術(shù)的一個(gè)重要進(jìn)展。盡管光線跟蹤算法成功地模擬了景物表面間的鏡面反射、規(guī)則透射及陰影等整體光照效果,但由于光線跟蹤算法的采樣特性,和局部光照模型的不完善性,該方法難于模擬景物表面之間的多重漫反射效果,因而不能反映色彩滲透現(xiàn)象(相距較近的景物表面之間的顏色輝映現(xiàn)象)。1984年,美國Cornell大學(xué)和日本廣島大學(xué)的學(xué)者分別將熱輻射工程中的輻射度方法引入到計(jì)算機(jī)圖形學(xué)中,用輻射度方法成功地模擬了理想漫反射表面間的多重漫反射效果。經(jīng)過十多年的發(fā)展,輻射度方法模擬的場景越來越復(fù)雜,圖形效果越來越真實(shí)。輻射度方法是基于熱輻射工程的能量傳遞和守恒理論,即一封閉的環(huán)境中能量經(jīng)多重反射之后,最終會(huì)達(dá)到一種平衡狀態(tài)。由于這種能量平衡狀態(tài)可以用一系統(tǒng)方程來定量表達(dá),因而與以往光照明模型和繪制算法不同,輻射度方法是一種整體求解技術(shù)。事實(shí)上,一旦得到輻射度系統(tǒng)方程的解,我們就知道了每一個(gè)景物表面的輻射度分布,進(jìn)而可以選取任一視點(diǎn)和視線方向?qū)φ麄€(gè)場景作繪制。2)輻射度方法輻射度方法是繼光線跟蹤算法后,真實(shí)感圖形繪制35基本概念:(1)立體角:三維空間中的立體錐角稱為立體角,記為dω。以立體角的頂點(diǎn)為球心,作一半徑為r的球面,立體角的邊界在球面上所截的面積ds除以半徑平方表示立體角的大?。篸ω=ds/r2(2)光亮度:發(fā)光面積微元在單位時(shí)間、單位投影面積(沿視線方向)和單位立體角向某方向(視線方向)輻射的光能稱為光亮度,記為I。(3)輻射度:發(fā)光面積微元在單位時(shí)間、單位面積向其四周半空間輻射的總能量,記為B。視線方向dω立體角光亮度輻射度單位面積基本概念:視線方向dω立體角光亮度輻射度單位面積36輻射度與光亮度的關(guān)系:設(shè):dP為表面某點(diǎn)處單位面積上朝某輻射方向dω角度單位時(shí)間發(fā)出的光能,則dP與該點(diǎn)處的光亮度I的關(guān)系為:dP=Icosθdω其中θ為該點(diǎn)處的表面法線與輻射方向之間的交角。則:該點(diǎn)的輻射度因此,理想漫射表面每點(diǎn)處的輻射度值與光亮度值之比為一常數(shù),表面各點(diǎn)處的光亮度計(jì)算可以通過求解整個(gè)場景的輻射度方程而得到。視線方向法線方向θ視線方向和法線方向輻射度與光亮度的關(guān)系:因此,理想漫射表面每點(diǎn)處的輻射度值與光37假設(shè)周圍環(huán)境為一封閉系統(tǒng),則表面上每一點(diǎn)x處微面元dS(x)向周圍環(huán)境輻射的能量由它自身所具有的輻射光能和它接受來自環(huán)境中其它景物表面向該點(diǎn)輻射后反射的光能組成。假設(shè)周圍環(huán)境入射到微面元dS(x)上的光能為H(x),而為該表面在x處的反射率,則微面元dS(x)對環(huán)境入射光的反射而產(chǎn)生的那部分輻射光能為:。由此,x點(diǎn)處的輻射度B(x)滿足:其中dA(x)為微面元dS(x)的面積,E(x)為該表面在x點(diǎn)處的自身輻射度,若該表面為漫射光源,E(x)>0,否則,E(x)=0?,F(xiàn)在我們來考慮如何計(jì)算H(x),由H(x)的定義知,H(x)是周圍環(huán)境表面各點(diǎn)輻射度B(x’)的函數(shù),其中x’≠x。一般來說,x‘點(diǎn)處的微面元dS(x’)向四周發(fā)射的能量中只有一部分到達(dá)x點(diǎn)處。若我們用F(x’,x)來表示微面元dS(x’)輻射并達(dá)到面元dS(x)的光能占它向四周輻射的總能量的比例,則dS(x’)對x的入射光能為:。其中dA(x’)為微面元dS(x’)的面積。由H(x)的定義知,其中S為環(huán)境中的所有表面。通常我們稱F(x’,x)為微面元dS(x’)對微面元dS(x)的形狀因子。假設(shè)周圍環(huán)境為一封閉系統(tǒng),則表面上每一點(diǎn)x處微面元dS(x)38由(1)、(2)兩個(gè)方程知道,形狀因子的表達(dá)與計(jì)算是建立輻射度方程的關(guān)鍵。由于理想漫射表面接收到來自空間任一方向的光能后向各個(gè)方向均勻反射,故形狀因子F(x’,x)只與微面元dS(x’)和dS(x)的相對位置、幾何大小有關(guān),即F(x’,x)是一個(gè)純幾何量。根據(jù)立體角的定義,當(dāng)從x’處觀察dS(x)時(shí)所張的立體角為:其中r(x’,x)為點(diǎn)x’到點(diǎn)x之間的距離,θx為dS(x)在x處的法線Nx與向量x-x’之間的交角。由此,由微面元dS(x’)發(fā)出的能量到達(dá)dS(x)的能量為:其中dP(x’)為x’處單位面積朝立體角dω發(fā)出的光能(光通量)。I(x’)為x‘點(diǎn)處的光亮度(各向相同),θx’為dS(x’)在x’處的法向量Nx’與向量x-x’之間的交角。dS(x)dS(x’)NxNx’由(1)、(2)兩個(gè)方程知道,形狀因子的表達(dá)與計(jì)算是建立輻射39由輻射度的定義可知,微面元dS(x’)向四周發(fā)出的總能量為B(x’)dA(x’),故面元dS(x’)到面元dS(x)的形狀因子為:以上推導(dǎo)隱含了一個(gè)假設(shè),即微面元dS(x)與dS(x’)之間是完全可見的。若dS(x)與dS(x’)之間存在遮擋物,則由幾何光學(xué)原理知,dS(x‘)入射到dS(x)上的能量為零。引進(jìn)遮擋函數(shù)HID(dS(x),dS(x’)),若遮擋,其值為0,否則為1,則形狀因子的一般形式為:由(1)、(2)、(5)可得:此即為一般理想漫射環(huán)境的輻射度方程。該方程系統(tǒng)地描述了封閉環(huán)境中各景物表面在平衡狀態(tài)時(shí)的光能分布。
由輻射度的定義可知,微面元dS(x’)向四周發(fā)出的總能量為B40盡管上述方程給出了景物表面輻射度函數(shù)的一般表達(dá)式,但實(shí)際應(yīng)用中,該方程過于復(fù)雜,精確求解景物表面上各點(diǎn)的輻射度B(x)顯然不切實(shí)際。為此應(yīng)對(6)式作簡化。我們假設(shè)景物表面被剖分成一系列互不重迭的小平面片,且各面片上的輻射度值和漫反射率均為常數(shù)。不妨假設(shè)分割后場景中景物面片數(shù)為N,第i個(gè)面片Si的輻射度為Bi,其自身擁有的輻射度為Ei,漫反射系數(shù)為ρi,其面積為Ai,則方程(6)應(yīng)用在面片Ai上,并在方程兩邊對Si求積分得:若記:則上式可寫為:,i=1,2···N(7)此即為簡化后漫射環(huán)境下的輻射度系統(tǒng)方程。盡管上述方程給出了景物表面輻射度函數(shù)的一般表達(dá)式,但實(shí)際應(yīng)用41可將(7)式寫成矩陣形式:
(I+M)B=E(8)其中I為N×N的單位陣,由(7)式可知,F(xiàn)ij恰好表達(dá)了面片Sj發(fā)出并到達(dá)面片Si的輻射能占Sj向四周輻射的總能量的比例(Si、Sj作為整體看),被稱為面片Sj到面片Si的形狀因子。一旦計(jì)算好形狀因子,就可以通過求解方程組(7)得到個(gè)面片的輻射度的值。由于輻射度解與視點(diǎn)無關(guān),一旦給定視點(diǎn)和視線方向,就可以用任一消隱算法來繪制場景。無論視點(diǎn)、視線、光源光照屬性、面片漫反射系數(shù)發(fā)生改變,均無需重新計(jì)算形狀因子??蓪?7)式寫成矩陣形式:由(7)式可知,F(xiàn)ij恰好表達(dá)了面42漫射環(huán)境下的輻射度方法可歸結(jié)為如下流程圖。
輸入場景將場景中的表面剖分為小平面片計(jì)算面片間的形狀因子Fij輻射度系統(tǒng)方程求解繪制并顯示場景改變光源光照屬性和表面漫反射系數(shù)改變視點(diǎn)或視線漫射環(huán)境下的輻射度方法可歸結(jié)為如下流程圖。輸入場景將場景中43表面剖分處理原則:剖分所生成面片的數(shù)量和形狀不僅嚴(yán)重影響輻射度方法的效率,而且也會(huì)影響面片間形狀因子的計(jì)算精度。在算法實(shí)現(xiàn)時(shí),應(yīng)盡量避免將景物表面分割成狹長的面片形狀。在面片數(shù)一定的情況下,一個(gè)好的剖分算法應(yīng)使這些面片均勻地分布在各景物表面上。在輻射度面片剖分算法中,一般采用正方率來衡量各面片形狀的優(yōu)劣。一面片的正方率定義為其內(nèi)接圓半徑與其外接圓半徑之比。顯然,面片的正方率越大(接近于1),該面片的形狀越方正;若其正方率接近于零,則面片呈狹長的形狀。由于我們事先并不知道各景物表面上輻射度函數(shù)的變化規(guī)律,因而無法準(zhǔn)確預(yù)測應(yīng)在景物表面的哪些區(qū)域分得細(xì)一些,在哪些區(qū)域分得細(xì)一些。一個(gè)折中的方案是先對表面作均勻剖分來生成初始面片,并盡可能使各面片的正方率大一些。當(dāng)然,這可能與后面計(jì)算得到的表面輻射度分布不相吻合。但經(jīng)對初始面片繼續(xù)作遞歸細(xì)分,可生成所需的非均勻網(wǎng)格。正方率=0.3正方率=0.5表面剖分處理原則:正方率=0.3正方率=0.544形狀因子Fij的計(jì)算:(1)Fij和Fji滿足下列交換關(guān)系:
AiFij=AjFji
證:(2)對封閉環(huán)境有: 證:Fij為面片Sj發(fā)出并到達(dá)面片Si的輻射能占Sj向四周輻射的總能量的比例,100%=1。(3)若面片Si為一平面片或凸曲面片,則有
Fii=0
證:可見性(4)計(jì)算:除幾種簡單情形外,形狀因子Fij的計(jì)算公式?jīng)]有精確的解析解,因而圖形學(xué)中均采用數(shù)值求解技術(shù)來計(jì)算形狀因子。形狀因子Fij的計(jì)算:45輻射度方程求解方程:(I+M)B=E其中I為N×N的單位陣方程組的系數(shù)矩陣為:M‘為按列絕對對角占優(yōu)矩陣,方程有唯一解。輻射度方程求解方程組的系數(shù)矩陣為:M‘為按列絕對對角占優(yōu)矩陣46繪制通過計(jì)算形狀因子和求解輻射度方程,可得到每一面片的輻射度Bi。它們可用于繪制場景中的面片。由于面片之間的形狀因子與視點(diǎn)無關(guān),因此輻射度方程的解也與視點(diǎn)無關(guān)。這一性質(zhì)使得輻射度的解特別適合于對視點(diǎn)連續(xù)變化的場景的繪制,即所謂的漫游。一般地,漫反射率ρ對RGB三原色具有不同的數(shù)值,這時(shí)需要分別求解三組聯(lián)立方程組,然后合成RGB顏色。如果用Bi去直接繪制面片,每一面片按無變化的光亮度繪制,則整個(gè)景物表面的光亮度將不連續(xù)。解決的方法是:將所得的面片輻射度的值外推到周圍的頂點(diǎn),再用Gouraud方法顯示多邊形。繪制47封閉性:輻射度方法要求有一個(gè)封閉的環(huán)境,在這個(gè)封閉環(huán)境中能量是守恒的。這個(gè)封閉環(huán)境被簡化為由N個(gè)表面組成。它們可以是發(fā)光表面(如光源)、反射面或虛擬的表面(如窗戶)。表面被假定為理想漫反射體、理想漫射發(fā)光體、理想漫反射體和漫射發(fā)光體的組合。將光源看作具有指定照明強(qiáng)度的表面。對于有向光源,首先獨(dú)立地計(jì)算它對場景中表面的有向輻射;然后將受到有向輻射的各表面視作發(fā)光表面進(jìn)行輻射度求解。封閉性:48輻射度法舉例輻射度法舉例49紋理:物體的表面細(xì)節(jié)稱為紋理(Texture),紋理分為兩類:(1)顏色紋理:顏色或明暗度變化體現(xiàn)出來的表面細(xì)節(jié),如刨光木材表面上的木紋。(2)幾何紋理:由不規(guī)則的細(xì)小凹凸體現(xiàn)出來的表面細(xì)節(jié),如桔子皮表面的皺紋。在真實(shí)感圖形學(xué)中,可以用下列兩種方法來定義紋理:(1)圖象紋理:將二維紋理圖案映射到三維物體表面,繪制物體表面上一點(diǎn)時(shí),采用相應(yīng)的紋理圖案中相應(yīng)點(diǎn)的顏色值。(2)函數(shù)紋理:用數(shù)學(xué)函數(shù)定義簡單的二維紋理圖案,如方格地毯;或用數(shù)學(xué)函數(shù)定義隨機(jī)高度場,生成表面粗糙紋理即幾何紋理。6.6
紋理及紋理映射圖像紋理函數(shù)紋理紋理:物體的表面細(xì)節(jié)稱為紋理(Texture),紋理分為兩類50紋理映射:紋理一般定義在單位正方形域(0≤u≤1,0≤v≤1)上,稱為紋理空間。為了表示物體的表面細(xì)節(jié),需要進(jìn)行物體坐標(biāo)(x,y,z)到紋理坐標(biāo)(u,v)的變換,在確定點(diǎn)(x,y,z)的色彩時(shí),用紋理坐標(biāo)(u,v)對應(yīng)的紋理色彩代替(或參與)。紋理數(shù)據(jù)通常是離散的(例如一幅紋理圖像),在計(jì)算(u,v)點(diǎn)的色彩時(shí),通常需要使用該點(diǎn)周圍已知的紋理色彩進(jìn)行插值(例如線性插值或取最近點(diǎn))。物體坐標(biāo)到紋理坐標(biāo)的轉(zhuǎn)換通常使用下列兩種方法:(1)在繪制一個(gè)三角形時(shí),為每個(gè)頂點(diǎn)指定紋理坐標(biāo),三角形內(nèi)部點(diǎn)的紋理坐標(biāo)由紋理三角形的對應(yīng)點(diǎn)確定。即指定:
(x0,y0,z0)→(u0,v0) (x1,y1,z1)→(u1,v1) (x2,y2,z2)→(u2,v2)(2)指定映射關(guān)系:
u=a0x+a1y+a2z+a3 v=b0x+b1y+b2z+b3紋理映射:物體坐標(biāo)到紋理坐標(biāo)的轉(zhuǎn)換通常使用下列兩種方法:51幾何紋理的生成:顏色紋理可以使用圖像紋理和函數(shù)紋理直接生成,而幾何紋理則使用一個(gè)稱為擾動(dòng)函數(shù)的數(shù)學(xué)函數(shù)進(jìn)行定義。擾動(dòng)函數(shù)通過對景物表面各采樣點(diǎn)的位置作微小擾動(dòng)來改變表面的微觀幾何形狀。設(shè)景物表面由下述參數(shù)方程定義:則表面任一點(diǎn)(u,v)處的法線為:又設(shè)擾動(dòng)函數(shù)為:則擾動(dòng)后的表面為:且:由于擾動(dòng)函數(shù)P(u,v)非常小,故上兩式的最后一項(xiàng)可略去。這樣擾動(dòng)后的法向可以近似表示為:其中:位于表面在(u,v)點(diǎn)的切平面上,擾動(dòng)的意義明顯。幾何紋理的生成:其中:52擾動(dòng)函數(shù)的確定:擾動(dòng)函數(shù)是一標(biāo)量函數(shù),可以任意選擇??梢允呛唵蔚木W(wǎng)格圖案、字符位圖、Z緩沖圖案,也可以是交互式繪圖系統(tǒng)繪制的各種圖案。當(dāng)使用離散的擾動(dòng)函數(shù)時(shí),使用差分代替微分。對表面函數(shù)的處理:景物表面幾何形狀的微小擾動(dòng)會(huì)引起表面法向的較大變化。由于表面光亮度是景物表面法向的函數(shù),這種法向變化會(huì)引起表面光亮度的突變,從而產(chǎn)生表面凹凸不平的真實(shí)感效果。通常情況下,我們并不需要將擾動(dòng)函數(shù)加入最后顯示的表面,而只是借助擾動(dòng)函數(shù)擾動(dòng)表面的法線,這時(shí)在景物的輪廓線上表現(xiàn)不出凸凹不平的效果;如果將擾動(dòng)函數(shù)直接加入表面的法線方向,則可以產(chǎn)生真實(shí)的凸凹模型。兩者在表現(xiàn)景物表面的幾何紋理時(shí)效果相差不大,但在輪廓區(qū)域則完全不同。擾動(dòng)函數(shù)的確定:53紋理舉例紋理舉例54Mip-Map紋理反走樣技術(shù)紋理映射經(jīng)常涉及將一紋理圖案映射到不同大小的景物表面上。當(dāng)各屏幕象素中的可見曲面與紋理象素的大小相匹配時(shí),它們之間形成一對一的映射。而當(dāng)景物表面在屏幕上的投影區(qū)域較小時(shí),位于一個(gè)屏幕象素內(nèi)的曲面區(qū)域映射到紋理平面上后可能覆蓋多個(gè)紋理象素,這時(shí),若仍基于屏幕象素中心在紋理平面上作采樣,由于采樣點(diǎn)在紋理空間的變化很大,則會(huì)產(chǎn)生嚴(yán)重的走樣現(xiàn)象。實(shí)際上應(yīng)當(dāng)取這一區(qū)域上紋理象素顏色的平均值作為當(dāng)前象素內(nèi)可見區(qū)域的平均紋理屬性,Mip-Map紋理反走樣技術(shù)即基于這種思想。Mip是拉丁文“multuminparvo”的縮寫,意為“聚集在一塊小區(qū)域內(nèi)的許多東西”。Mip-Map技術(shù)保留了一幅圖像的多個(gè)分辨率版本,最高版本是原始圖像,低級版本的分辨率是其上級版本的1/2,其每個(gè)象素是上級圖像四個(gè)象素的平均值,所有版本構(gòu)成了一個(gè)圖像金字塔。高低Mip-Map紋理反走樣技術(shù)高低55Mip-Map方法在確定一個(gè)屏幕象素的紋理顏色時(shí)需要計(jì)算三個(gè)參數(shù),即屏幕象素中心在紋理平面上映射點(diǎn)的坐標(biāo)(u,v)和屏幕象素內(nèi)可見平面區(qū)域在紋理平面上所映射區(qū)域的邊長d。d決定了應(yīng)在哪一級分辨率的紋理圖像上進(jìn)行紋理采樣。通常情況下,可以根據(jù)象素的四個(gè)角點(diǎn)在紋理平面上的對應(yīng)坐標(biāo),對d進(jìn)行估計(jì):(x,y)(x+1,y)(x+1,y+1)(x,y+1)yxuvABCDd是一個(gè)實(shí)數(shù),通常介于兩個(gè)分辨率圖像的象素邊長之間,這時(shí),首先通過插值(橫向)確定象素中心在這兩幅圖像上的紋理顏色,再使用這兩個(gè)紋理顏色在兩幅圖像之間作線性插值(縱向),這個(gè)紋理顏色既是對應(yīng)象素的紋理顏色。Mip-Map方法在確定一個(gè)屏幕象素的紋理顏色時(shí)需要計(jì)算三個(gè)56Mip-Map的紋理映射過程通過三角形三個(gè)頂點(diǎn)的對應(yīng)坐標(biāo)建立了屏幕坐標(biāo)到紋理坐標(biāo)的映射三維空間屏幕空間紋理空間110Mip-Map的紋理映射過程通過三角形三個(gè)頂點(diǎn)的對應(yīng)坐標(biāo)建立57Mip-Map的紋理映射過程-d-11/81/41/2象素長度顏色dMip-Map的紋理映射過程-d-11/81/41/2象素長58作業(yè)3使用OpenGL繪制一個(gè)立方體,要求:(1)其中的兩個(gè)面使用簡單顏色繪制(顏色自己定,可以是漸變色也可以是單一顏色)、兩個(gè)面使用光照繪制(材料自己定)、兩個(gè)面使用紋理繪制(紋理圖像要求至少有一張是自己的面部特寫)。(2)可以用鼠標(biāo)進(jìn)行圖像的旋轉(zhuǎn)、放大和平移。其中鼠標(biāo)左鍵控制旋轉(zhuǎn);鼠標(biāo)右鍵控制圖像的平移、鼠標(biāo)滾輪控制圖像的放大。旋轉(zhuǎn)、放大和平移有效果就行。作業(yè)3使用OpenGL繪制一個(gè)立方體,要求:59計(jì)算機(jī)生成的圖形是由離散點(diǎn)組成的數(shù)字化圖像,因而生成的圖形必然與真實(shí)景物之間存在誤差。這種誤差表現(xiàn)為圖形上的直線或光滑的曲線呈鋸齒狀、彩色花紋失去原有的形態(tài)和色彩、細(xì)小物體在畫面上得不到反映等等。這種現(xiàn)象在計(jì)算機(jī)圖形學(xué)中稱為圖形走樣(aliasing)。從信號理論來看這是由于生成圖像時(shí)對真實(shí)畫面的采樣頻率過低造成的。解決這個(gè)問題的最根本方法是用面積采樣代替點(diǎn)采樣,或者在景物的細(xì)節(jié)部分增加采樣點(diǎn),并使用適當(dāng)?shù)臑V波器對采樣信號進(jìn)行處理(例如加權(quán)平均)。6.7圖形反走樣技術(shù)6.7圖形反走樣技術(shù)601)面積采樣反走樣glEnable(GL_POINT_SMOOTH);glEnable(GL_LINE_SMOOTH);glEnable(GL_POLYGON_SMOOTH);原始走樣面積反走樣1)面積采樣反走樣glEnable(GL_POINT_SMO612)增加采樣點(diǎn)反走樣在使用光線跟蹤方法繪制圖形時(shí),可采用象素細(xì)分技術(shù)增加采樣點(diǎn)進(jìn)行反走樣。其基本思想是將發(fā)生圖形走樣的象素細(xì)分為四個(gè)象素,分別對子象素進(jìn)行光線跟蹤,若子象素仍有圖形走樣,則繼續(xù)細(xì)分子象素直到每一子象素的光亮度都大致正確為止。最后取各子象素光亮度的加權(quán)平均即可得到整個(gè)象素的光亮度。Procedureantialiasing(I1,I2,I3,I4,I)//I1,I2,I3,I4為當(dāng)前象素或子象素四個(gè)角點(diǎn)的光亮度值,//I為所求的當(dāng)前象素或子象素的光亮度。BeginIf(I1,I2,I3,I4大致相等)then
I=(I1+I2+I3+I4)/4ElseBegin在象素四條邊界的中點(diǎn)及象素中心點(diǎn)發(fā)出光線,得到五個(gè)采樣點(diǎn)處的光亮度I12,I23,I34,I41和ImAntialiasing(I1,I12,Im,I41,Ia);Antialiasing(I12,I2,I23,Im,Ib);Antialiasing(Im,I23,I3,I34,Ic);Antialiasing(I41,Im,I34,I4,Id);I=(Ia+Ib+Ic+Id)/4EndEndI3ImI1I2I4I12I41I23I342)增加采樣點(diǎn)反走樣在使用光線跟蹤方法繪制圖形時(shí),可采用象素626.8一些特殊效果1)霧化(fog)霧化是一種可以添加到最終圖像中的簡單效果,可以用于很多目的:①可以提高戶外場景的真實(shí)度。②可以幫助場景中的觀察者確定物體所在位置的遠(yuǎn)近。③可以實(shí)現(xiàn)遠(yuǎn)平面的光滑剪裁。假設(shè)物體表面的顏色為Cs,霧的顏色為Cf,霧化因子為f,最終象素的顏色Cp,則:Cp=f·Cs+(1-f)·Cf霧化系數(shù)f∈[0,1],它隨視點(diǎn)距離的增加而減少,有各種計(jì)算方法,例如:
線性霧化指數(shù)霧化平方指數(shù)霧化其中,Zp為象素點(diǎn)的Z深度,df為控制霧化濃度的參數(shù)。6.8一些特殊效果1)霧化(fog)霧化是一種可以添加到最632)陰影(shadow)
當(dāng)觀察方向與光源重合時(shí),觀察者看不到任何陰影。但當(dāng)兩者不一致時(shí),就會(huì)出現(xiàn)陰影。陰影可以表現(xiàn)出畫面上景物的遠(yuǎn)近和相對方位,從而極大的增強(qiáng)畫面的真實(shí)感。本影與半影:陰影分為兩種,本影與半影。位于中間的全黑的輪廓分明的部分稱為本影。本影周圍半明半暗的區(qū)域稱為半影。點(diǎn)光源只產(chǎn)生本影,位于有限距離內(nèi)的分布光源則同時(shí)形成本影和半影。本影是任何光線都照不到的區(qū)域,而半影區(qū)域則可接收到從分布光源來的部分光線。自身陰影和投射陰影:自身陰影是由于物體自身的遮擋而使光線照射不到它上面的某些面;投射陰影是由于物體遮擋光線,使場景中位于它后面的物體或區(qū)域受不到光照射而形成的。由于陰影與觀察者的位置無關(guān),陰影信息可以反復(fù)利用。然而除了光線跟蹤算法以外,基于物體空間的圖形顯示方法對陰影的繪制并非易事。下面介紹兩種方法:①陰影體法;②陰影圖法2)陰影(shadow)當(dāng)觀察方向與光源重合64陰影體法由一個(gè)點(diǎn)光源和一個(gè)三角形可以生成一個(gè)無限大的陰影體。落在這個(gè)陰影體中的物體,就處于陰影中。假設(shè)正在對場景進(jìn)行觀察,同時(shí)跟蹤一條通過某個(gè)象素點(diǎn)的光線,直到這條光線碰到屏幕上顯示的某個(gè)物體。在對光線進(jìn)行跟蹤的過程中,如果這條射線穿過了陰影體的一個(gè)正面(朝向視點(diǎn)的一個(gè)面),則計(jì)數(shù)器加1。如果這條射線穿過了陰影體的一個(gè)背面(背向視點(diǎn)的一個(gè)面),則計(jì)數(shù)器減1。如果最終計(jì)數(shù)器的數(shù)值大于0,則說明這個(gè)象素處于陰影中,否則處于陰影之外。注:三角形本身不用考慮,因?yàn)檫@里它只能是不透明的,它后面的物體會(huì)被它遮住。AB陰影體法由一個(gè)點(diǎn)光源和一個(gè)三角形可以生成一個(gè)無限大的陰影體。65續(xù)前頁通過巧妙使用模板緩沖器,可以將陰影投射到任意形狀的物體上:第一步,將模板緩沖器清空。第二步,只使用環(huán)境光和自發(fā)光,對場景進(jìn)行繪制,得到幀緩沖器中的圖像和深度緩沖器中的深度。第三步,關(guān)閉幀緩沖器和深度緩沖器,但啟動(dòng)深度比較,打開模板緩沖器。在模板緩沖器中繪制出所有陰影體的正向多邊形。每繪制一個(gè)多邊形,就使模板緩沖器的數(shù)值增加1。第四步,在模板緩沖器中繪制出所有陰影體的背向多邊形。每繪制一個(gè)多邊形,就使模板緩沖器的數(shù)值減少1。(模板不能用顏色繪圖)第五步,關(guān)閉模板緩沖器,但啟用模板,打開幀緩沖器。打開并清空深度緩沖,啟用深度比較,在幀緩沖器中對整個(gè)場景再次進(jìn)行繪制,但只繪制模板緩沖器中數(shù)值為0的象素。演示續(xù)前頁通過巧妙使用模板緩沖器,可以將陰影投射到任意形狀的物體66陰影圖法這種方法的主要思想是使用Z緩沖器算法,從投射陰影的光源位置對整個(gè)場景進(jìn)行繪制。這時(shí),對于Z緩沖器的每一個(gè)象素,它的z深度值包括了這個(gè)象素到距離光源最近點(diǎn)的物體的距離。一般將Z緩沖器中的整個(gè)內(nèi)容稱為陰影圖(ShadowMap),有時(shí)候也稱為陰影深度圖。為了使用陰影圖,需要對場景進(jìn)行二次繪制,不過這次是從視點(diǎn)的角度來進(jìn)行的。在對每個(gè)圖元進(jìn)行繪制的時(shí)候,將它們的位置與陰影圖進(jìn)行比較,如果繪制點(diǎn)距離光源比陰影圖中的數(shù)值還要遠(yuǎn),那么這個(gè)點(diǎn)就在陰影中,否則就不在陰影中。這種做法與深度測試的思想類似,只不過這里是光源計(jì)算深度而不是從視點(diǎn)。光源視點(diǎn)abVaVb陰影圖法這種方法的主要思想是使用Z緩沖器算法,從投射陰影的光67續(xù)前頁高版本的OpenGL對這種方法提供了支持。其實(shí)現(xiàn)過程可以簡單描述為(參見:OpenGLProgrammingGuideSixthEdition):首先:以光源為視點(diǎn)對場景進(jìn)行第一次繪制。本次生成的圖像并不重要,關(guān)鍵是取得其Z緩沖中生成的陰影圖,并將其制作成紋理。其次:從視點(diǎn)對場景進(jìn)行第二次繪制。在繪制過程中為所有像素點(diǎn)計(jì)算其三維紋理坐標(biāo),計(jì)算方法與生成紋理的方法相同。這時(shí),如果某像素的第三紋理坐標(biāo)小于紋理中的灰度,則該像素不在陰影中,其顏色就是光照的顏色;反之則在陰影中,其顏色為零。這種方法的優(yōu)點(diǎn)是可以使用一般用途的圖形硬件(紋理貼圖硬件)對任意的陰影進(jìn)行繪制(但軟件版本要高);缺點(diǎn)是陰影質(zhì)量與陰影圖的象素分辨率有很大關(guān)系,同時(shí)也依賴于Z緩沖器的數(shù)值精度。續(xù)前頁高版本的OpenGL對這種方法提供了支持。其實(shí)現(xiàn)過程可683)粒子系統(tǒng)
粒子系統(tǒng)是一組分散的微小物體集合,其中的這些微小物體按照某種算法運(yùn)動(dòng),實(shí)際應(yīng)用包括模擬火焰、煙、爆炸、流水、樹木、旋轉(zhuǎn)星系和其它一些自然現(xiàn)象。這種方法的思想是在粒子的生命周期內(nèi)控制它的產(chǎn)生、運(yùn)動(dòng)、變化和消失。 每個(gè)粒子可以是屏幕上的一個(gè)單獨(dú)點(diǎn),也可以用一個(gè)布告版來表示。 布告版(billboard)就是一個(gè)方向始終朝向視點(diǎn)的多邊形,在繪制這個(gè)多邊形時(shí)可以使用透明紋理技術(shù)。演示3)粒子系統(tǒng) 粒子系統(tǒng)是一組分散的微小物體集合,其中的這些微69最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件70計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)71兩種顯示方式的比較
基于物體空間的顯示:這種顯示方式首先將要顯示的對象表示為相互連接的多邊形(通常是三角形)面片;然后通過一條所謂的圖形繪制管線將每一個(gè)三角形繪制到屏幕上。當(dāng)所有面片都處理完畢后,就得到了一幅完整的真實(shí)感圖像。這種顯示方式有圖形硬件的支持,顯示速度很快,通常用于交互設(shè)計(jì)。但它的真實(shí)感程度稍遜。典型應(yīng)用:交互設(shè)計(jì)、游戲。 基于圖像空間的顯示:這種顯示方式逐個(gè)計(jì)算屏幕象素點(diǎn)的顏色,以獲得整個(gè)屏幕的圖像。它采用光線跟蹤算法,通過逆向跟蹤通過屏幕象素的光線路徑,并累加路徑上光線貢獻(xiàn),得到該象素點(diǎn)的色彩。這種顯示方式可以生成超真實(shí)的圖像,是生成最終效果圖的主要方法。典型應(yīng)用:廣告。兩種顯示方式的比較 基于物體空間的顯示:這種顯示方式首先將要72最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件73最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件74最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件75最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件76最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件77最新計(jì)算機(jī)圖形學(xué)第六章真實(shí)感圖形學(xué)課件78三刺激空間:R、G、B三原色(其實(shí)是X、Y、Z)的單位向量定義了一個(gè)三維顏色空間,該三維向量空間稱為(R、G、B)三刺激空間。色度圖:為了在二維空間中表示顏色,取三刺激空間中的截面(R)+(G)+(B)=1。該截面與三個(gè)坐標(biāo)平面的交線構(gòu)成一個(gè)等邊三角形,稱為色度圖。對于三刺激空間中坐標(biāo)為X、Y、Z的顏色刺激向量,它與色度圖的交點(diǎn)坐標(biāo)(x,y,z)被稱為色度值:CIE色度圖:把可見光色度圖投影到XY平面上,所得到的馬蹄形區(qū)域稱為CIE色度圖。馬蹄形區(qū)域的邊界和內(nèi)部代表了所有可見光的色度值,邊界彎曲部分代表了光譜在某種純度為百分之百的色光。XYZ0111三刺激空間:R、G、B三原色(其實(shí)是X、Y、Z)的單位向量793)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確方法,但是,它的應(yīng)用還是比較復(fù)雜的。在計(jì)算機(jī)圖形學(xué)中,通常使用一些通俗易懂的顏色模型。所謂顏色模型就是指某個(gè)三維顏色空間中的一個(gè)可見光子集,它包含某個(gè)顏色域的所有顏色。顏色模型的用途是在某個(gè)顏色域內(nèi)方便地指定顏色。由于每一個(gè)顏色域都是可見光的子集,所以任何一個(gè)顏色模型都無法包含所有的可見光。3)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確80RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模型。它采用紅、綠、藍(lán)為原色,各個(gè)原色混合在一起可以產(chǎn)生復(fù)合色,被稱為加色系統(tǒng)。通常采用單位立方體來表示。RGB三原色混合效果RGB立方體RGB顏色模型:RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模81CMY顏色模型:以紅、綠、藍(lán)的補(bǔ)色青(Cyan)、品紅(Magenta)、黃(Yellow)為原色構(gòu)成的CMY顏色模型,常用于從白光中濾去某種顏色,被稱為減色系統(tǒng)。CMYK顏色模型:CMYK:Cyan青,Magenta品紅,Yellow黃,blacK黑。取黑色的根本原因是青、品紅、黃三色混合常產(chǎn)生“灰”黑。與采用三色顏色疊印相比,使用單一顏色印刷顯然更易干燥,而且黑墨水比彩色墨水便宜。在CMYK系統(tǒng)中,黑色被用于代替等量的青、品紅、黃三色K=min(C,M.Y)C=C-KM=M-KY=Y-K這個(gè)過程稱為底色去除。CMY顏色模型:CMYK顏色模型:82XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標(biāo)和三刺激值給出了描述顏色的標(biāo)準(zhǔn)精確方法。由于涉及顏色的工業(yè)部門都各有一套顏色描述的規(guī)則和慣例。采用CIE色度坐標(biāo)有助于這些工業(yè)部門之間顏色信息的傳遞和轉(zhuǎn)換。因此從CIE坐標(biāo)值到另一種顏色系統(tǒng)的變換及逆變換是引人關(guān)注的研究課題。計(jì)算機(jī)圖形學(xué)需要在CIEXYZ系統(tǒng)和RGB加色系統(tǒng)之間進(jìn)行轉(zhuǎn)換。由RGB顏色空間至CIEXYZ顏色空間的變換為其中Xr、Yr、Zr為生成單位量的R原色所需要的三刺激值,Xg、Yg、Zg以及Xb、Yb、Zb類同。只要將RGB顏色模型的三個(gè)分量帶入,就可以得到在CIEXYZ系統(tǒng)中的三刺激值。XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標(biāo)和三刺激值給836.2
光照明模型
當(dāng)光照射到物體表面時(shí),光線可能被吸收、反射和透射。被物體吸收的部分轉(zhuǎn)化為熱,反射、透射的光進(jìn)入人的視覺系統(tǒng),使我們能看見物體。為模擬這一現(xiàn)象,需要建立一些數(shù)學(xué)模型來替代復(fù)雜的物理模型,這些模型被稱為明暗效應(yīng)模型或者光照明模型。三維物體的圖形經(jīng)過消隱后,再進(jìn)行明暗效應(yīng)的處理,可以進(jìn)一步提高圖形的真實(shí)感。6.2光照明模型當(dāng)光照射到物體表面時(shí),光線可能被吸收、反841)光的傳播在正常的情況下,光沿著直線傳播,當(dāng)光遇到介質(zhì)不同的表面時(shí),會(huì)產(chǎn)生反射和折射現(xiàn)象,而且在反射和折射的時(shí)候,遵循反射定律和折射定律。(1)反射定律:入射角等于反射角,且反射光線、入射光線與法向量在同一平面上。(2)折射定律:折射角與入射角滿足,η1/η2=sinφ/sinθ且折射線在入射線與法線構(gòu)成的平面上,η1、η2為兩種介質(zhì)的折射率。(3)能量關(guān)系:在光的反射和折射現(xiàn)象中,能量是守恒的,能量的分布情況滿足:Ii=Id+Is+It+Iv其中:Ii為入射光強(qiáng),由光源引起;Id為漫反射光強(qiáng),由表面不光滑引起;Is為鏡面反射光強(qiáng),由表面光滑性引起;It為透射光,由物體的透明性引起;Iv為被物體所吸收的光,由能量損耗引起。1)光的傳播在正常的情況下,光沿著直線傳播,當(dāng)光遇到介質(zhì)不同856.3簡單光照明模型
簡單光照明模型模擬物體表面對光的反射作用。光源被假定為點(diǎn)光源,反射作用被細(xì)分為鏡面反射(SpecularReflection)和漫反射(DiffuseReflection)。簡單光照明模型只考慮物體對直接光照的反射作用,而物體間的光反射作用,只用環(huán)境光(AmbientLight)來表示。6.3簡單光照明模型簡單光照明模型模擬物體表面對光的反射86漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點(diǎn)無關(guān)。記入射光強(qiáng)為Ip,物體表面上點(diǎn)P
的法向?yàn)镹
,從點(diǎn)P指向光源的向量為L,兩者間的夾角為θ,則漫反射光強(qiáng)為:Id=Ip*Kd*cos(θ)θ∈(0,π/2)其中,Kd是與物體有關(guān)的漫反射系數(shù),0<Kd<1。當(dāng)L、N為單位向量時(shí):Id=Ip*Kd*(L·N)在有多個(gè)光源的情況下,有如下表示:Id=Kd∑Ipi*(Li·N)在RGB顏色模型下,漫反射系數(shù)Kd有三個(gè)分量Kdr,Kdg,Kdb分別代表RGB三原色的漫反射系數(shù),它們是反映物體的顏色的,通過調(diào)整它們,可以改變物體的顏色。同樣,我們也可以把入射光強(qiáng)I設(shè)為三個(gè)分量Ir,Ig,Ib,通過這些分量的值來調(diào)整光源的顏色。PNLθ1)理想漫反射漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點(diǎn)無關(guān)87對于理想鏡面,反射光集中在一個(gè)方向,并遵守反射定律。對一般的光滑表面,反射光集中在一個(gè)范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。因此,對于同一點(diǎn)來說,從不同位置所觀察到的鏡面反射光強(qiáng)是不同的。鏡面反射光強(qiáng)可表示為:Is=Ip*Ks*cosn(α),α∈(0,π/2)其中Ks是與物體有關(guān)的鏡面反射系數(shù),α為視線方向V與反射方向R的夾角,n為反射指數(shù),反映了物體表面的光澤程度,一般為1~2000,數(shù)目越大物體表面越光滑。鏡面反射光會(huì)在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象。同樣,將V和R都格式化為單位向量,鏡面反射光強(qiáng)可表示為:Is=Ip*Ks*(R·V)n對多個(gè)光源的情形,鏡面反射光強(qiáng)可表示為:Is=Ks∑[Ipi
(Ri·V)n]鏡面反射光產(chǎn)生的高光區(qū)域只反映光源的顏色,鏡面反射系數(shù)Ks是一個(gè)與物體的顏色無關(guān)的參數(shù)(與光潔程度有關(guān))。綜合前面已經(jīng)提到的,在簡單光照明模型中,我們只能通過改變物體的漫反射系數(shù)來控制物體的顏色。2)鏡面反射對于理想鏡面,反射光集中在一個(gè)方向,并遵守反射定律。對一般的88環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,最終達(dá)到平衡時(shí)的一種光。我們近似地認(rèn)為同一環(huán)境下的環(huán)境光,其光強(qiáng)分布是均勻的,它在任何一個(gè)方向上的分布都相同。例如,透過厚厚云層的陽光就可以稱為環(huán)境光。在簡單光照明模型中,我們用一個(gè)常數(shù)來模擬環(huán)境光:Ie=Ia·Ka其中:Ia為環(huán)境光的光強(qiáng),Ka為物體對環(huán)境光的反射系數(shù)。3)環(huán)境光環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,894)Phong光照明模型綜合上面介紹的光反射作用的各個(gè)部分,Phong光照明模型有這樣的一個(gè)表述:由物體表面上一點(diǎn)P反射到視點(diǎn)的光強(qiáng)I為環(huán)境光的反射光強(qiáng)Ia、理想漫反射光強(qiáng)Id、和鏡面反射光Is的總和,即:4)Phong光照明模型綜合上面介紹的光反射作用的各個(gè)部分,90在用Phong模型進(jìn)行真實(shí)感圖形計(jì)算時(shí),對物體表面上的每個(gè)點(diǎn)P,均需計(jì)算光線的反射方向R,再由V計(jì)算(R·V)。為減少計(jì)算量,我們可以作如下假設(shè):a)光源在無窮遠(yuǎn)處。即光線方向L為常數(shù);b)視點(diǎn)在無窮遠(yuǎn)處,即視線方向V為常數(shù);c)用(H·N)近似(R·V)。這里H為L和V的平分向量,H=(L+V)/|L+V|。在這種簡化下,由于對所有的點(diǎn)總共只計(jì)算一次H的值(N總是需要計(jì)算的),節(jié)省了計(jì)算時(shí)間。在用Phong模型進(jìn)行真實(shí)感圖形計(jì)算時(shí),對物體表面上的每個(gè)點(diǎn)91OpenGL對多邊形的處理: 多邊形頂點(diǎn)顏色使用Phone光照明模型計(jì)算,多邊形的填充使用Gouraud明暗模式。Gouraud明暗模式: 首先,通過頂點(diǎn)線性插值多邊形邊界象素的顏色;其次,通過掃描線與邊界的交點(diǎn)線性插值多邊形內(nèi)部象素顏色。 缺點(diǎn):不夠細(xì)致,對較大的多邊形最好進(jìn)行分解!OpenGL對多邊形的處理:926.4
光透射模型
對于透明(transparency)或半透明的物體,在光線與物體表面相交時(shí),一般會(huì)產(chǎn)生反射與折射(refraction),經(jīng)折射后的光線將穿過物體而在物體的另一個(gè)面射出,形成透射光。如果視點(diǎn)在折射光線的方向上,就可以看到透射光。
6.4光透射模型對于透明(transparency)或半931)透明效果的簡單模擬
顏色調(diào)和法:該方法不考慮透明體對光的折射以及透明物體本身的厚度,光通過物體表面是不會(huì)改變方向的,故可以模擬平面玻璃。設(shè)t是物體的透明度,t=0表示物體是不透明體;t=1表示物體是完全透體。我們所看到的顏色,是物體表面的顏色和透過物體的背景顏色的疊加。設(shè)過象素點(diǎn)(x,y)的視線與物體相交處的顏色(或光強(qiáng))為Ia,視線穿過物體與另一不透明物體相交處的顏色(或光強(qiáng))為Ib,則象素點(diǎn)(x,y)的顏色(或光強(qiáng))可由如下顏色調(diào)和公式計(jì)算:I=t*Ib+(1-t)*Ia其中,Ia和Ib可由簡單光照明模型計(jì)算。由于未考慮透射光的折射,以及透明物體的厚度,顏色調(diào)和法只能模擬玻璃的透明或半透明效果。1)透明效果的簡單模擬顏色調(diào)和法:該方法不考慮透明體對光942)Whitted光透射模型其中It’和Is’分別為折射方向和反射方向的入射光強(qiáng)度(非光源);Kt’和Ks’分別為透射系數(shù)和反射系數(shù),都是0-1之間的常數(shù),取決于物體的材質(zhì)。Ks和Ks’可以相同。這一模型于1980年由Whitted提出,并第一次給出了使用此模型的光線跟蹤算法范例。NθφθVIsItIp在簡單光照明模型的基礎(chǔ)上,加上透射光項(xiàng)就得到Whitted光透射模型:再加上鏡面反射光項(xiàng),就得到Whitted整體光照模型:2)Whitted光透射模型其中It’和Is’分別為折射方953)Hall光透射模型
Hall光透射模型是在Whitted光透射模型的基礎(chǔ)上推廣而來的。實(shí)際上,就是在Whitted模型的光強(qiáng)計(jì)算中加入光源引起的漫透射和規(guī)則透射。透明體的粗糙表面對透射光的作用表現(xiàn)為漫透射。如毛玻璃表面即為漫透射面。當(dāng)光線透過這樣的表面射出時(shí),光線將向各個(gè)方向散射。對理想漫透射面,透射光的光強(qiáng)在各個(gè)方向均相等。用Lambert余弦定律描述點(diǎn)P處的漫透射光的光強(qiáng)為:其中Ip為入射光的強(qiáng)度,Kdt為物體的漫透射系數(shù),在0與1之間。L為入射光的方向,N為面法線(-N為背面法線)。法線N入射方向L3)Hall光透射模型Hall光透射模型是在Whitte96對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他方向均見不到。對非理想透明物體,視點(diǎn)在透射方向附近也能見到部分透射光,但強(qiáng)度隨視線V與光線的折射方向T的夾角的增大而急劇減小。這種規(guī)則透射光的光強(qiáng)比漫透射光強(qiáng)高出好多倍,在折射方向周圍形成高光域,這個(gè)高光域的光強(qiáng)要比其周圍區(qū)域要大的多。Hall用下面的式子模擬透射高光現(xiàn)象:法線N入射方向L折射方向T視線V其中,It為規(guī)則透射光在視線方向的強(qiáng)度,Ip為入射光的強(qiáng)度;Kt為物體的透明系數(shù),n為反映物體表面光澤度的常數(shù)。對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他974)光透射模型
綜合簡單光照明模型,Whitted光透射模型和Hall光透射模型,可得簡單光反射透射模型(含有全局項(xiàng)):其中下標(biāo)i表示直接照射表面的光源,下標(biāo)j表示引起折射的光源;下標(biāo)ds表示漫反射,下標(biāo)s表示規(guī)則反射;下標(biāo)dt表示漫折射,下標(biāo)t表示規(guī)則折射;上標(biāo)’表示非光源項(xiàng);L表示光源方向;N表示法線方向;R表示反射方向;V表示視線方向;T表示折射方向。4)光透射模型綜合簡單光照明模型,Whitted光透射模型986.5整體光照明模型
簡單光照明模型雖然可以產(chǎn)生物體的真實(shí)感圖象,但它只考慮物體對直接光照的反射作用,不能很好的模擬光的折射和陰影等,也不能用來表示物體間的相互光照明影響;而基于簡單光照明模型的光透射模型,雖然可以模擬光的折射,但是這種折射的計(jì)算范圍很小,不能很好的模擬多個(gè)透明體之間的復(fù)雜光照明現(xiàn)象。對于上述的這些問題,必須要有一個(gè)更精確的光照明模型。整體光照明模型就是這樣的一種模型。在現(xiàn)有的整體光照明模型中,主要有光線跟蹤和輻射度兩種方法,它們是當(dāng)今真實(shí)感圖形學(xué)中最重要的兩個(gè)圖形繪制技術(shù),在CAD及圖形學(xué)領(lǐng)域得到了廣泛的應(yīng)用。6.5整體光照明模型簡單光照明模型雖然可以產(chǎn)生物體的真實(shí)991)光線跟蹤算法
光線跟蹤算法是真實(shí)感圖形學(xué)中的主要算法之一,該算法具有原理簡單、實(shí)現(xiàn)方便和能夠生成各種逼真的視覺效果等突出的優(yōu)點(diǎn),綜合考慮了光的反射、折射、陰影等。光線跟蹤的基本原理:模擬理想表面的光線傳播,跟蹤鏡面反射和折射。由光源發(fā)出的光線,經(jīng)反射與折射,只有很少部分可以進(jìn)入人的眼睛。因此光線跟蹤算法的跟蹤方向與光傳播的方向是相反,是視線跟蹤。由視點(diǎn)與象素(x,y)發(fā)出一根射線,與第一個(gè)物體相交后,在其反射與折射方向上進(jìn)行跟蹤。1)光線跟蹤算法光線跟蹤算法是真實(shí)感圖形學(xué)1001)由光源產(chǎn)生的直接的光線照射光強(qiáng),是交點(diǎn)處的局部光強(qiáng),可以由簡單光照模型計(jì)算(但要考慮遮擋)。2)反射方向上由其它物體引起的間接光照光強(qiáng),由IsKs'
計(jì)算,Is通過對反射光線的遞歸跟蹤得到。3)折射方向上由其它物體引起的間接光照光強(qiáng),由ItKt'計(jì)算,It通過對折射光線的遞歸跟蹤得到。光線跟蹤算法的基本過程
當(dāng)視線與物體表面交于點(diǎn)P時(shí),點(diǎn)P的光分為三部分,把這三部分光強(qiáng)相加,就是P點(diǎn)處的總的光強(qiáng):兩個(gè)透明球和一個(gè)非透明物體組成場景的光線跟蹤光線跟蹤算法的基本過程當(dāng)視線與物體表面交于點(diǎn)101
雖然在理想情況下,光線可以在物體之間進(jìn)行無限次的反射和折射,但是在實(shí)際的算法進(jìn)行過程中,我們不可能進(jìn)行無窮的光線跟蹤,因而需要給出一些跟蹤的終止條件。實(shí)際應(yīng)用中,可以有以下幾種終止條件:①該光線未碰到任何物體。②該光線碰到了背景(即邊界)。③光線經(jīng)過許多次反射和折射以后,就會(huì)產(chǎn)生衰減。當(dāng)衰減系數(shù)小于某個(gè)給定的值時(shí),光線對于視點(diǎn)的光強(qiáng)貢獻(xiàn)很小,這時(shí)可以停止跟蹤。④光線反射或折射的次數(shù)(即跟蹤深度)大于給定的值。光線跟蹤終止條件 雖然在理想情況下,光線可以在物體之間進(jìn)行無限次的反射和折102光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起點(diǎn)為start,光線的方向?yàn)閐irection,光線的衰減權(quán)值為weight,初始值為1,算法最后返回光線方向上的顏色值color。對于每一個(gè)象素點(diǎn),第一次調(diào)用RayTracing()時(shí),可以設(shè)起點(diǎn)start為視點(diǎn),而direction為視點(diǎn)到該象素點(diǎn)的射線方向。RayTracing(start,direction,weight,color)
{
if(weight<MinWeight)
color=black;
else
{
計(jì)算光線與所有物體的交點(diǎn)中離start最近的點(diǎn);
if(沒有交點(diǎn))
color=black;
else
{
Ilocal=在交點(diǎn)處用局部光照模型計(jì)算出的光強(qiáng);
計(jì)算反射方向R;
RayTracing(最近的交點(diǎn),R,weight*Wr,Ir);//Wr:反射方向的衰減系數(shù)
計(jì)算折射方向T;
RayTracing(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12古詩三首《示兒》說課稿-2024-2025學(xué)年五年級語文上冊統(tǒng)編版001
- 2023六年級數(shù)學(xué)上冊 四 人體的奧秘-比說課稿 青島版六三制
- 會(huì)議總包合同范例
- 鋼板橋面面層施工方案
- 供熱公司用工合同范本
- 專業(yè)律師合同范例
- 債務(wù)合約合同范例
- 物業(yè)車輛清潔方案
- 公司聘用文秘合同范例
- 買礦協(xié)議合同范本
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 王崧舟:學(xué)習(xí)任務(wù)群與課堂教學(xué)變革 2022版新課程標(biāo)準(zhǔn)解讀解析資料 57
- 招投標(biāo)現(xiàn)場項(xiàng)目經(jīng)理答辯(完整版)資料
- 運(yùn)動(dòng)競賽學(xué)課件
- 重大事故隱患整改臺(tái)賬
- 2022年上海市初中畢業(yè)數(shù)學(xué)課程終結(jié)性評價(jià)指南
- 高考作文備考-議論文對比論證 課件14張
- 新華師大版七年級下冊初中數(shù)學(xué) 7.4 實(shí)踐與探索課時(shí)練(課后作業(yè)設(shè)計(jì))
- 山東省萊陽市望嵐口礦區(qū)頁巖礦
- 《普通生物學(xué)教案》word版
- 安全生產(chǎn)應(yīng)知應(yīng)會(huì)培訓(xùn)課件
評論
0/150
提交評論