最新計算機圖形學(xué)第六章真實感圖形學(xué)課件_第1頁
最新計算機圖形學(xué)第六章真實感圖形學(xué)課件_第2頁
最新計算機圖形學(xué)第六章真實感圖形學(xué)課件_第3頁
最新計算機圖形學(xué)第六章真實感圖形學(xué)課件_第4頁
最新計算機圖形學(xué)第六章真實感圖形學(xué)課件_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機圖形學(xué)第六章真實感圖形學(xué)計算機圖形學(xué)第六章真實感圖形學(xué)1兩種顯示方式的比較

基于物體空間的顯示:這種顯示方式首先將要顯示的對象表示為相互連接的多邊形(通常是三角形)面片;然后通過一條所謂的圖形繪制管線將每一個三角形繪制到屏幕上。當所有面片都處理完畢后,就得到了一幅完整的真實感圖像。這種顯示方式有圖形硬件的支持,顯示速度很快,通常用于交互設(shè)計。但它的真實感程度稍遜。典型應(yīng)用:交互設(shè)計、游戲。 基于圖像空間的顯示:這種顯示方式逐個計算屏幕象素點的顏色,以獲得整個屏幕的圖像。它采用光線跟蹤算法,通過逆向跟蹤通過屏幕象素的光線路徑,并累加路徑上光線貢獻,得到該象素點的色彩。這種顯示方式可以生成超真實的圖像,是生成最終效果圖的主要方法。典型應(yīng)用:廣告。兩種顯示方式的比較 基于物體空間的顯示:這種顯示方式首先將要2最新計算機圖形學(xué)第六章真實感圖形學(xué)課件3最新計算機圖形學(xué)第六章真實感圖形學(xué)課件4最新計算機圖形學(xué)第六章真實感圖形學(xué)課件5最新計算機圖形學(xué)第六章真實感圖形學(xué)課件6最新計算機圖形學(xué)第六章真實感圖形學(xué)課件7最新計算機圖形學(xué)第六章真實感圖形學(xué)課件8三刺激空間:R、G、B三原色(其實是X、Y、Z)的單位向量定義了一個三維顏色空間,該三維向量空間稱為(R、G、B)三刺激空間。色度圖:為了在二維空間中表示顏色,取三刺激空間中的截面(R)+(G)+(B)=1。該截面與三個坐標平面的交線構(gòu)成一個等邊三角形,稱為色度圖。對于三刺激空間中坐標為X、Y、Z的顏色刺激向量,它與色度圖的交點坐標(x,y,z)被稱為色度值:CIE色度圖:把可見光色度圖投影到XY平面上,所得到的馬蹄形區(qū)域稱為CIE色度圖。馬蹄形區(qū)域的邊界和內(nèi)部代表了所有可見光的色度值,邊界彎曲部分代表了光譜在某種純度為百分之百的色光。XYZ0111三刺激空間:R、G、B三原色(其實是X、Y、Z)的單位向量93)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標準精確方法,但是,它的應(yīng)用還是比較復(fù)雜的。在計算機圖形學(xué)中,通常使用一些通俗易懂的顏色模型。所謂顏色模型就是指某個三維顏色空間中的一個可見光子集,它包含某個顏色域的所有顏色。顏色模型的用途是在某個顏色域內(nèi)方便地指定顏色。由于每一個顏色域都是可見光的子集,所以任何一個顏色模型都無法包含所有的可見光。3)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標準精確10RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模型。它采用紅、綠、藍為原色,各個原色混合在一起可以產(chǎn)生復(fù)合色,被稱為加色系統(tǒng)。通常采用單位立方體來表示。RGB三原色混合效果RGB立方體RGB顏色模型:RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模11CMY顏色模型:以紅、綠、藍的補色青(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這個過程稱為底色去除。CMY顏色模型:CMYK顏色模型:12XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標和三刺激值給出了描述顏色的標準精確方法。由于涉及顏色的工業(yè)部門都各有一套顏色描述的規(guī)則和慣例。采用CIE色度坐標有助于這些工業(yè)部門之間顏色信息的傳遞和轉(zhuǎn)換。因此從CIE坐標值到另一種顏色系統(tǒng)的變換及逆變換是引人關(guān)注的研究課題。計算機圖形學(xué)需要在CIEXYZ系統(tǒng)和RGB加色系統(tǒng)之間進行轉(zhuǎn)換。由RGB顏色空間至CIEXYZ顏色空間的變換為其中Xr、Yr、Zr為生成單位量的R原色所需要的三刺激值,Xg、Yg、Zg以及Xb、Yb、Zb類同。只要將RGB顏色模型的三個分量帶入,就可以得到在CIEXYZ系統(tǒng)中的三刺激值。XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標和三刺激值給136.2

光照明模型

當光照射到物體表面時,光線可能被吸收、反射和透射。被物體吸收的部分轉(zhuǎn)化為熱,反射、透射的光進入人的視覺系統(tǒng),使我們能看見物體。為模擬這一現(xiàn)象,需要建立一些數(shù)學(xué)模型來替代復(fù)雜的物理模型,這些模型被稱為明暗效應(yīng)模型或者光照明模型。三維物體的圖形經(jīng)過消隱后,再進行明暗效應(yīng)的處理,可以進一步提高圖形的真實感。6.2光照明模型當光照射到物體表面時,光線可能被吸收、反141)光的傳播在正常的情況下,光沿著直線傳播,當光遇到介質(zhì)不同的表面時,會產(chǎn)生反射和折射現(xiàn)象,而且在反射和折射的時候,遵循反射定律和折射定律。(1)反射定律:入射角等于反射角,且反射光線、入射光線與法向量在同一平面上。(2)折射定律:折射角與入射角滿足,η1/η2=sinφ/sinθ且折射線在入射線與法線構(gòu)成的平面上,η1、η2為兩種介質(zhì)的折射率。(3)能量關(guān)系:在光的反射和折射現(xiàn)象中,能量是守恒的,能量的分布情況滿足:Ii=Id+Is+It+Iv其中:Ii為入射光強,由光源引起;Id為漫反射光強,由表面不光滑引起;Is為鏡面反射光強,由表面光滑性引起;It為透射光,由物體的透明性引起;Iv為被物體所吸收的光,由能量損耗引起。1)光的傳播在正常的情況下,光沿著直線傳播,當光遇到介質(zhì)不同156.3簡單光照明模型

簡單光照明模型模擬物體表面對光的反射作用。光源被假定為點光源,反射作用被細分為鏡面反射(SpecularReflection)和漫反射(DiffuseReflection)。簡單光照明模型只考慮物體對直接光照的反射作用,而物體間的光反射作用,只用環(huán)境光(AmbientLight)來表示。6.3簡單光照明模型簡單光照明模型模擬物體表面對光的反射16漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點無關(guān)。記入射光強為Ip,物體表面上點P

的法向為N

,從點P指向光源的向量為L,兩者間的夾角為θ,則漫反射光強為:Id=Ip*Kd*cos(θ)θ∈(0,π/2)其中,Kd是與物體有關(guān)的漫反射系數(shù),0<Kd<1。當L、N為單位向量時:Id=Ip*Kd*(L·N)在有多個光源的情況下,有如下表示:Id=Kd∑Ipi*(Li·N)在RGB顏色模型下,漫反射系數(shù)Kd有三個分量Kdr,Kdg,Kdb分別代表RGB三原色的漫反射系數(shù),它們是反映物體的顏色的,通過調(diào)整它們,可以改變物體的顏色。同樣,我們也可以把入射光強I設(shè)為三個分量Ir,Ig,Ib,通過這些分量的值來調(diào)整光源的顏色。PNLθ1)理想漫反射漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點無關(guān)17對于理想鏡面,反射光集中在一個方向,并遵守反射定律。對一般的光滑表面,反射光集中在一個范圍內(nèi),且由反射定律決定的反射方向光強最大。因此,對于同一點來說,從不同位置所觀察到的鏡面反射光強是不同的。鏡面反射光強可表示為:Is=Ip*Ks*cosn(α),α∈(0,π/2)其中Ks是與物體有關(guān)的鏡面反射系數(shù),α為視線方向V與反射方向R的夾角,n為反射指數(shù),反映了物體表面的光澤程度,一般為1~2000,數(shù)目越大物體表面越光滑。鏡面反射光會在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象。同樣,將V和R都格式化為單位向量,鏡面反射光強可表示為:Is=Ip*Ks*(R·V)n對多個光源的情形,鏡面反射光強可表示為:Is=Ks∑[Ipi

(Ri·V)n]鏡面反射光產(chǎn)生的高光區(qū)域只反映光源的顏色,鏡面反射系數(shù)Ks是一個與物體的顏色無關(guān)的參數(shù)(與光潔程度有關(guān))。綜合前面已經(jīng)提到的,在簡單光照明模型中,我們只能通過改變物體的漫反射系數(shù)來控制物體的顏色。2)鏡面反射對于理想鏡面,反射光集中在一個方向,并遵守反射定律。對一般的18環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,最終達到平衡時的一種光。我們近似地認為同一環(huán)境下的環(huán)境光,其光強分布是均勻的,它在任何一個方向上的分布都相同。例如,透過厚厚云層的陽光就可以稱為環(huán)境光。在簡單光照明模型中,我們用一個常數(shù)來模擬環(huán)境光:Ie=Ia·Ka其中:Ia為環(huán)境光的光強,Ka為物體對環(huán)境光的反射系數(shù)。3)環(huán)境光環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,194)Phong光照明模型綜合上面介紹的光反射作用的各個部分,Phong光照明模型有這樣的一個表述:由物體表面上一點P反射到視點的光強I為環(huán)境光的反射光強Ia、理想漫反射光強Id、和鏡面反射光Is的總和,即:4)Phong光照明模型綜合上面介紹的光反射作用的各個部分,20在用Phong模型進行真實感圖形計算時,對物體表面上的每個點P,均需計算光線的反射方向R,再由V計算(R·V)。為減少計算量,我們可以作如下假設(shè):a)光源在無窮遠處。即光線方向L為常數(shù);b)視點在無窮遠處,即視線方向V為常數(shù);c)用(H·N)近似(R·V)。這里H為L和V的平分向量,H=(L+V)/|L+V|。在這種簡化下,由于對所有的點總共只計算一次H的值(N總是需要計算的),節(jié)省了計算時間。在用Phong模型進行真實感圖形計算時,對物體表面上的每個點21OpenGL對多邊形的處理: 多邊形頂點顏色使用Phone光照明模型計算,多邊形的填充使用Gouraud明暗模式。Gouraud明暗模式: 首先,通過頂點線性插值多邊形邊界象素的顏色;其次,通過掃描線與邊界的交點線性插值多邊形內(nèi)部象素顏色。 缺點:不夠細致,對較大的多邊形最好進行分解!OpenGL對多邊形的處理:226.4

光透射模型

對于透明(transparency)或半透明的物體,在光線與物體表面相交時,一般會產(chǎn)生反射與折射(refraction),經(jīng)折射后的光線將穿過物體而在物體的另一個面射出,形成透射光。如果視點在折射光線的方向上,就可以看到透射光。

6.4光透射模型對于透明(transparency)或半231)透明效果的簡單模擬

顏色調(diào)和法:該方法不考慮透明體對光的折射以及透明物體本身的厚度,光通過物體表面是不會改變方向的,故可以模擬平面玻璃。設(shè)t是物體的透明度,t=0表示物體是不透明體;t=1表示物體是完全透體。我們所看到的顏色,是物體表面的顏色和透過物體的背景顏色的疊加。設(shè)過象素點(x,y)的視線與物體相交處的顏色(或光強)為Ia,視線穿過物體與另一不透明物體相交處的顏色(或光強)為Ib,則象素點(x,y)的顏色(或光強)可由如下顏色調(diào)和公式計算:I=t*Ib+(1-t)*Ia其中,Ia和Ib可由簡單光照明模型計算。由于未考慮透射光的折射,以及透明物體的厚度,顏色調(diào)和法只能模擬玻璃的透明或半透明效果。1)透明效果的簡單模擬顏色調(diào)和法:該方法不考慮透明體對光242)Whitted光透射模型其中It’和Is’分別為折射方向和反射方向的入射光強度(非光源);Kt’和Ks’分別為透射系數(shù)和反射系數(shù),都是0-1之間的常數(shù),取決于物體的材質(zhì)。Ks和Ks’可以相同。這一模型于1980年由Whitted提出,并第一次給出了使用此模型的光線跟蹤算法范例。NθφθVIsItIp在簡單光照明模型的基礎(chǔ)上,加上透射光項就得到Whitted光透射模型:再加上鏡面反射光項,就得到Whitted整體光照模型:2)Whitted光透射模型其中It’和Is’分別為折射方253)Hall光透射模型

Hall光透射模型是在Whitted光透射模型的基礎(chǔ)上推廣而來的。實際上,就是在Whitted模型的光強計算中加入光源引起的漫透射和規(guī)則透射。透明體的粗糙表面對透射光的作用表現(xiàn)為漫透射。如毛玻璃表面即為漫透射面。當光線透過這樣的表面射出時,光線將向各個方向散射。對理想漫透射面,透射光的光強在各個方向均相等。用Lambert余弦定律描述點P處的漫透射光的光強為:其中Ip為入射光的強度,Kdt為物體的漫透射系數(shù),在0與1之間。L為入射光的方向,N為面法線(-N為背面法線)。法線N入射方向L3)Hall光透射模型Hall光透射模型是在Whitte26對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他方向均見不到。對非理想透明物體,視點在透射方向附近也能見到部分透射光,但強度隨視線V與光線的折射方向T的夾角的增大而急劇減小。這種規(guī)則透射光的光強比漫透射光強高出好多倍,在折射方向周圍形成高光域,這個高光域的光強要比其周圍區(qū)域要大的多。Hall用下面的式子模擬透射高光現(xiàn)象:法線N入射方向L折射方向T視線V其中,It為規(guī)則透射光在視線方向的強度,Ip為入射光的強度;Kt為物體的透明系數(shù),n為反映物體表面光澤度的常數(shù)。對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他274)光透射模型

綜合簡單光照明模型,Whitted光透射模型和Hall光透射模型,可得簡單光反射透射模型(含有全局項):其中下標i表示直接照射表面的光源,下標j表示引起折射的光源;下標ds表示漫反射,下標s表示規(guī)則反射;下標dt表示漫折射,下標t表示規(guī)則折射;上標’表示非光源項;L表示光源方向;N表示法線方向;R表示反射方向;V表示視線方向;T表示折射方向。4)光透射模型綜合簡單光照明模型,Whitted光透射模型286.5整體光照明模型

簡單光照明模型雖然可以產(chǎn)生物體的真實感圖象,但它只考慮物體對直接光照的反射作用,不能很好的模擬光的折射和陰影等,也不能用來表示物體間的相互光照明影響;而基于簡單光照明模型的光透射模型,雖然可以模擬光的折射,但是這種折射的計算范圍很小,不能很好的模擬多個透明體之間的復(fù)雜光照明現(xiàn)象。對于上述的這些問題,必須要有一個更精確的光照明模型。整體光照明模型就是這樣的一種模型。在現(xiàn)有的整體光照明模型中,主要有光線跟蹤和輻射度兩種方法,它們是當今真實感圖形學(xué)中最重要的兩個圖形繪制技術(shù),在CAD及圖形學(xué)領(lǐng)域得到了廣泛的應(yīng)用。6.5整體光照明模型簡單光照明模型雖然可以產(chǎn)生物體的真實291)光線跟蹤算法

光線跟蹤算法是真實感圖形學(xué)中的主要算法之一,該算法具有原理簡單、實現(xiàn)方便和能夠生成各種逼真的視覺效果等突出的優(yōu)點,綜合考慮了光的反射、折射、陰影等。光線跟蹤的基本原理:模擬理想表面的光線傳播,跟蹤鏡面反射和折射。由光源發(fā)出的光線,經(jīng)反射與折射,只有很少部分可以進入人的眼睛。因此光線跟蹤算法的跟蹤方向與光傳播的方向是相反,是視線跟蹤。由視點與象素(x,y)發(fā)出一根射線,與第一個物體相交后,在其反射與折射方向上進行跟蹤。1)光線跟蹤算法光線跟蹤算法是真實感圖形學(xué)301)由光源產(chǎn)生的直接的光線照射光強,是交點處的局部光強,可以由簡單光照模型計算(但要考慮遮擋)。2)反射方向上由其它物體引起的間接光照光強,由IsKs'

計算,Is通過對反射光線的遞歸跟蹤得到。3)折射方向上由其它物體引起的間接光照光強,由ItKt'計算,It通過對折射光線的遞歸跟蹤得到。光線跟蹤算法的基本過程

當視線與物體表面交于點P時,點P的光分為三部分,把這三部分光強相加,就是P點處的總的光強:兩個透明球和一個非透明物體組成場景的光線跟蹤光線跟蹤算法的基本過程當視線與物體表面交于點31

雖然在理想情況下,光線可以在物體之間進行無限次的反射和折射,但是在實際的算法進行過程中,我們不可能進行無窮的光線跟蹤,因而需要給出一些跟蹤的終止條件。實際應(yīng)用中,可以有以下幾種終止條件:①該光線未碰到任何物體。②該光線碰到了背景(即邊界)。③光線經(jīng)過許多次反射和折射以后,就會產(chǎn)生衰減。當衰減系數(shù)小于某個給定的值時,光線對于視點的光強貢獻很小,這時可以停止跟蹤。④光線反射或折射的次數(shù)(即跟蹤深度)大于給定的值。光線跟蹤終止條件 雖然在理想情況下,光線可以在物體之間進行無限次的反射和折32光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起點為start,光線的方向為direction,光線的衰減權(quán)值為weight,初始值為1,算法最后返回光線方向上的顏色值color。對于每一個象素點,第一次調(diào)用RayTracing()時,可以設(shè)起點start為視點,而direction為視點到該象素點的射線方向。RayTracing(start,direction,weight,color)

{

if(weight<MinWeight)

color=black;

else

{

計算光線與所有物體的交點中離start最近的點;

if(沒有交點)

color=black;

else

{

Ilocal=在交點處用局部光照模型計算出的光強;

計算反射方向R;

RayTracing(最近的交點,R,weight*Wr,Ir);//Wr:反射方向的衰減系數(shù)

計算折射方向T;

RayTracing(最近的交點,T,weight*Wt,It);//Wt:折射方向的衰減系數(shù)

color=Ilocal+Ks·Ir+Kt·It;//Ks、Kt:該點的反射系數(shù)和透射系數(shù)

}

}

}//此算法只設(shè)置了兩個終止條件光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起33光線跟蹤算法舉例光線跟蹤算法舉例342)輻射度方法

輻射度方法是繼光線跟蹤算法后,真實感圖形繪制技術(shù)的一個重要進展。盡管光線跟蹤算法成功地模擬了景物表面間的鏡面反射、規(guī)則透射及陰影等整體光照效果,但由于光線跟蹤算法的采樣特性,和局部光照模型的不完善性,該方法難于模擬景物表面之間的多重漫反射效果,因而不能反映色彩滲透現(xiàn)象(相距較近的景物表面之間的顏色輝映現(xiàn)象)。1984年,美國Cornell大學(xué)和日本廣島大學(xué)的學(xué)者分別將熱輻射工程中的輻射度方法引入到計算機圖形學(xué)中,用輻射度方法成功地模擬了理想漫反射表面間的多重漫反射效果。經(jīng)過十多年的發(fā)展,輻射度方法模擬的場景越來越復(fù)雜,圖形效果越來越真實。輻射度方法是基于熱輻射工程的能量傳遞和守恒理論,即一封閉的環(huán)境中能量經(jīng)多重反射之后,最終會達到一種平衡狀態(tài)。由于這種能量平衡狀態(tài)可以用一系統(tǒng)方程來定量表達,因而與以往光照明模型和繪制算法不同,輻射度方法是一種整體求解技術(shù)。事實上,一旦得到輻射度系統(tǒng)方程的解,我們就知道了每一個景物表面的輻射度分布,進而可以選取任一視點和視線方向?qū)φ麄€場景作繪制。2)輻射度方法輻射度方法是繼光線跟蹤算法后,真實感圖形繪制35基本概念:(1)立體角:三維空間中的立體錐角稱為立體角,記為dω。以立體角的頂點為球心,作一半徑為r的球面,立體角的邊界在球面上所截的面積ds除以半徑平方表示立體角的大小:dω=ds/r2(2)光亮度:發(fā)光面積微元在單位時間、單位投影面積(沿視線方向)和單位立體角向某方向(視線方向)輻射的光能稱為光亮度,記為I。(3)輻射度:發(fā)光面積微元在單位時間、單位面積向其四周半空間輻射的總能量,記為B。視線方向dω立體角光亮度輻射度單位面積基本概念:視線方向dω立體角光亮度輻射度單位面積36輻射度與光亮度的關(guān)系:設(shè):dP為表面某點處單位面積上朝某輻射方向dω角度單位時間發(fā)出的光能,則dP與該點處的光亮度I的關(guān)系為:dP=Icosθdω其中θ為該點處的表面法線與輻射方向之間的交角。則:該點的輻射度因此,理想漫射表面每點處的輻射度值與光亮度值之比為一常數(shù),表面各點處的光亮度計算可以通過求解整個場景的輻射度方程而得到。視線方向法線方向θ視線方向和法線方向輻射度與光亮度的關(guān)系:因此,理想漫射表面每點處的輻射度值與光37假設(shè)周圍環(huán)境為一封閉系統(tǒng),則表面上每一點x處微面元dS(x)向周圍環(huán)境輻射的能量由它自身所具有的輻射光能和它接受來自環(huán)境中其它景物表面向該點輻射后反射的光能組成。假設(shè)周圍環(huán)境入射到微面元dS(x)上的光能為H(x),而為該表面在x處的反射率,則微面元dS(x)對環(huán)境入射光的反射而產(chǎn)生的那部分輻射光能為:。由此,x點處的輻射度B(x)滿足:其中dA(x)為微面元dS(x)的面積,E(x)為該表面在x點處的自身輻射度,若該表面為漫射光源,E(x)>0,否則,E(x)=0?,F(xiàn)在我們來考慮如何計算H(x),由H(x)的定義知,H(x)是周圍環(huán)境表面各點輻射度B(x’)的函數(shù),其中x’≠x。一般來說,x‘點處的微面元dS(x’)向四周發(fā)射的能量中只有一部分到達x點處。若我們用F(x’,x)來表示微面元dS(x’)輻射并達到面元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),則表面上每一點x處微面元dS(x)38由(1)、(2)兩個方程知道,形狀因子的表達與計算是建立輻射度方程的關(guān)鍵。由于理想漫射表面接收到來自空間任一方向的光能后向各個方向均勻反射,故形狀因子F(x’,x)只與微面元dS(x’)和dS(x)的相對位置、幾何大小有關(guān),即F(x’,x)是一個純幾何量。根據(jù)立體角的定義,當從x’處觀察dS(x)時所張的立體角為:其中r(x’,x)為點x’到點x之間的距離,θx為dS(x)在x處的法線Nx與向量x-x’之間的交角。由此,由微面元dS(x’)發(fā)出的能量到達dS(x)的能量為:其中dP(x’)為x’處單位面積朝立體角dω發(fā)出的光能(光通量)。I(x’)為x‘點處的光亮度(各向相同),θx’為dS(x’)在x’處的法向量Nx’與向量x-x’之間的交角。dS(x)dS(x’)NxNx’由(1)、(2)兩個方程知道,形狀因子的表達與計算是建立輻射39由輻射度的定義可知,微面元dS(x’)向四周發(fā)出的總能量為B(x’)dA(x’),故面元dS(x’)到面元dS(x)的形狀因子為:以上推導(dǎo)隱含了一個假設(shè),即微面元dS(x)與dS(x’)之間是完全可見的。若dS(x)與dS(x’)之間存在遮擋物,則由幾何光學(xué)原理知,dS(x‘)入射到dS(x)上的能量為零。引進遮擋函數(shù)HID(dS(x),dS(x’)),若遮擋,其值為0,否則為1,則形狀因子的一般形式為:由(1)、(2)、(5)可得:此即為一般理想漫射環(huán)境的輻射度方程。該方程系統(tǒng)地描述了封閉環(huán)境中各景物表面在平衡狀態(tài)時的光能分布。

由輻射度的定義可知,微面元dS(x’)向四周發(fā)出的總能量為B40盡管上述方程給出了景物表面輻射度函數(shù)的一般表達式,但實際應(yīng)用中,該方程過于復(fù)雜,精確求解景物表面上各點的輻射度B(x)顯然不切實際。為此應(yīng)對(6)式作簡化。我們假設(shè)景物表面被剖分成一系列互不重迭的小平面片,且各面片上的輻射度值和漫反射率均為常數(shù)。不妨假設(shè)分割后場景中景物面片數(shù)為N,第i個面片Si的輻射度為Bi,其自身擁有的輻射度為Ei,漫反射系數(shù)為ρi,其面積為Ai,則方程(6)應(yīng)用在面片Ai上,并在方程兩邊對Si求積分得:若記:則上式可寫為:,i=1,2···N(7)此即為簡化后漫射環(huán)境下的輻射度系統(tǒng)方程。盡管上述方程給出了景物表面輻射度函數(shù)的一般表達式,但實際應(yīng)用41可將(7)式寫成矩陣形式:

(I+M)B=E(8)其中I為N×N的單位陣,由(7)式可知,F(xiàn)ij恰好表達了面片Sj發(fā)出并到達面片Si的輻射能占Sj向四周輻射的總能量的比例(Si、Sj作為整體看),被稱為面片Sj到面片Si的形狀因子。一旦計算好形狀因子,就可以通過求解方程組(7)得到個面片的輻射度的值。由于輻射度解與視點無關(guān),一旦給定視點和視線方向,就可以用任一消隱算法來繪制場景。無論視點、視線、光源光照屬性、面片漫反射系數(shù)發(fā)生改變,均無需重新計算形狀因子??蓪?7)式寫成矩陣形式:由(7)式可知,F(xiàn)ij恰好表達了面42漫射環(huán)境下的輻射度方法可歸結(jié)為如下流程圖。

輸入場景將場景中的表面剖分為小平面片計算面片間的形狀因子Fij輻射度系統(tǒng)方程求解繪制并顯示場景改變光源光照屬性和表面漫反射系數(shù)改變視點或視線漫射環(huán)境下的輻射度方法可歸結(jié)為如下流程圖。輸入場景將場景中43表面剖分處理原則:剖分所生成面片的數(shù)量和形狀不僅嚴重影響輻射度方法的效率,而且也會影響面片間形狀因子的計算精度。在算法實現(xiàn)時,應(yīng)盡量避免將景物表面分割成狹長的面片形狀。在面片數(shù)一定的情況下,一個好的剖分算法應(yīng)使這些面片均勻地分布在各景物表面上。在輻射度面片剖分算法中,一般采用正方率來衡量各面片形狀的優(yōu)劣。一面片的正方率定義為其內(nèi)接圓半徑與其外接圓半徑之比。顯然,面片的正方率越大(接近于1),該面片的形狀越方正;若其正方率接近于零,則面片呈狹長的形狀。由于我們事先并不知道各景物表面上輻射度函數(shù)的變化規(guī)律,因而無法準確預(yù)測應(yīng)在景物表面的哪些區(qū)域分得細一些,在哪些區(qū)域分得細一些。一個折中的方案是先對表面作均勻剖分來生成初始面片,并盡可能使各面片的正方率大一些。當然,這可能與后面計算得到的表面輻射度分布不相吻合。但經(jīng)對初始面片繼續(xù)作遞歸細分,可生成所需的非均勻網(wǎng)格。正方率=0.3正方率=0.5表面剖分處理原則:正方率=0.3正方率=0.544形狀因子Fij的計算:(1)Fij和Fji滿足下列交換關(guān)系:

AiFij=AjFji

證:(2)對封閉環(huán)境有: 證:Fij為面片Sj發(fā)出并到達面片Si的輻射能占Sj向四周輻射的總能量的比例,100%=1。(3)若面片Si為一平面片或凸曲面片,則有

Fii=0

證:可見性(4)計算:除幾種簡單情形外,形狀因子Fij的計算公式?jīng)]有精確的解析解,因而圖形學(xué)中均采用數(shù)值求解技術(shù)來計算形狀因子。形狀因子Fij的計算:45輻射度方程求解方程:(I+M)B=E其中I為N×N的單位陣方程組的系數(shù)矩陣為:M‘為按列絕對對角占優(yōu)矩陣,方程有唯一解。輻射度方程求解方程組的系數(shù)矩陣為:M‘為按列絕對對角占優(yōu)矩陣46繪制通過計算形狀因子和求解輻射度方程,可得到每一面片的輻射度Bi。它們可用于繪制場景中的面片。由于面片之間的形狀因子與視點無關(guān),因此輻射度方程的解也與視點無關(guān)。這一性質(zhì)使得輻射度的解特別適合于對視點連續(xù)變化的場景的繪制,即所謂的漫游。一般地,漫反射率ρ對RGB三原色具有不同的數(shù)值,這時需要分別求解三組聯(lián)立方程組,然后合成RGB顏色。如果用Bi去直接繪制面片,每一面片按無變化的光亮度繪制,則整個景物表面的光亮度將不連續(xù)。解決的方法是:將所得的面片輻射度的值外推到周圍的頂點,再用Gouraud方法顯示多邊形。繪制47封閉性:輻射度方法要求有一個封閉的環(huán)境,在這個封閉環(huán)境中能量是守恒的。這個封閉環(huán)境被簡化為由N個表面組成。它們可以是發(fā)光表面(如光源)、反射面或虛擬的表面(如窗戶)。表面被假定為理想漫反射體、理想漫射發(fā)光體、理想漫反射體和漫射發(fā)光體的組合。將光源看作具有指定照明強度的表面。對于有向光源,首先獨立地計算它對場景中表面的有向輻射;然后將受到有向輻射的各表面視作發(fā)光表面進行輻射度求解。封閉性:48輻射度法舉例輻射度法舉例49紋理:物體的表面細節(jié)稱為紋理(Texture),紋理分為兩類:(1)顏色紋理:顏色或明暗度變化體現(xiàn)出來的表面細節(jié),如刨光木材表面上的木紋。(2)幾何紋理:由不規(guī)則的細小凹凸體現(xiàn)出來的表面細節(jié),如桔子皮表面的皺紋。在真實感圖形學(xué)中,可以用下列兩種方法來定義紋理:(1)圖象紋理:將二維紋理圖案映射到三維物體表面,繪制物體表面上一點時,采用相應(yīng)的紋理圖案中相應(yīng)點的顏色值。(2)函數(shù)紋理:用數(shù)學(xué)函數(shù)定義簡單的二維紋理圖案,如方格地毯;或用數(shù)學(xué)函數(shù)定義隨機高度場,生成表面粗糙紋理即幾何紋理。6.6

紋理及紋理映射圖像紋理函數(shù)紋理紋理:物體的表面細節(jié)稱為紋理(Texture),紋理分為兩類50紋理映射:紋理一般定義在單位正方形域(0≤u≤1,0≤v≤1)上,稱為紋理空間。為了表示物體的表面細節(jié),需要進行物體坐標(x,y,z)到紋理坐標(u,v)的變換,在確定點(x,y,z)的色彩時,用紋理坐標(u,v)對應(yīng)的紋理色彩代替(或參與)。紋理數(shù)據(jù)通常是離散的(例如一幅紋理圖像),在計算(u,v)點的色彩時,通常需要使用該點周圍已知的紋理色彩進行插值(例如線性插值或取最近點)。物體坐標到紋理坐標的轉(zhuǎn)換通常使用下列兩種方法:(1)在繪制一個三角形時,為每個頂點指定紋理坐標,三角形內(nèi)部點的紋理坐標由紋理三角形的對應(yīng)點確定。即指定:

(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紋理映射:物體坐標到紋理坐標的轉(zhuǎn)換通常使用下列兩種方法:51幾何紋理的生成:顏色紋理可以使用圖像紋理和函數(shù)紋理直接生成,而幾何紋理則使用一個稱為擾動函數(shù)的數(shù)學(xué)函數(shù)進行定義。擾動函數(shù)通過對景物表面各采樣點的位置作微小擾動來改變表面的微觀幾何形狀。設(shè)景物表面由下述參數(shù)方程定義:則表面任一點(u,v)處的法線為:又設(shè)擾動函數(shù)為:則擾動后的表面為:且:由于擾動函數(shù)P(u,v)非常小,故上兩式的最后一項可略去。這樣擾動后的法向可以近似表示為:其中:位于表面在(u,v)點的切平面上,擾動的意義明顯。幾何紋理的生成:其中:52擾動函數(shù)的確定:擾動函數(shù)是一標量函數(shù),可以任意選擇??梢允呛唵蔚木W(wǎng)格圖案、字符位圖、Z緩沖圖案,也可以是交互式繪圖系統(tǒng)繪制的各種圖案。當使用離散的擾動函數(shù)時,使用差分代替微分。對表面函數(shù)的處理:景物表面幾何形狀的微小擾動會引起表面法向的較大變化。由于表面光亮度是景物表面法向的函數(shù),這種法向變化會引起表面光亮度的突變,從而產(chǎn)生表面凹凸不平的真實感效果。通常情況下,我們并不需要將擾動函數(shù)加入最后顯示的表面,而只是借助擾動函數(shù)擾動表面的法線,這時在景物的輪廓線上表現(xiàn)不出凸凹不平的效果;如果將擾動函數(shù)直接加入表面的法線方向,則可以產(chǎn)生真實的凸凹模型。兩者在表現(xiàn)景物表面的幾何紋理時效果相差不大,但在輪廓區(qū)域則完全不同。擾動函數(shù)的確定:53紋理舉例紋理舉例54Mip-Map紋理反走樣技術(shù)紋理映射經(jīng)常涉及將一紋理圖案映射到不同大小的景物表面上。當各屏幕象素中的可見曲面與紋理象素的大小相匹配時,它們之間形成一對一的映射。而當景物表面在屏幕上的投影區(qū)域較小時,位于一個屏幕象素內(nèi)的曲面區(qū)域映射到紋理平面上后可能覆蓋多個紋理象素,這時,若仍基于屏幕象素中心在紋理平面上作采樣,由于采樣點在紋理空間的變化很大,則會產(chǎn)生嚴重的走樣現(xiàn)象。實際上應(yīng)當取這一區(qū)域上紋理象素顏色的平均值作為當前象素內(nèi)可見區(qū)域的平均紋理屬性,Mip-Map紋理反走樣技術(shù)即基于這種思想。Mip是拉丁文“multuminparvo”的縮寫,意為“聚集在一塊小區(qū)域內(nèi)的許多東西”。Mip-Map技術(shù)保留了一幅圖像的多個分辨率版本,最高版本是原始圖像,低級版本的分辨率是其上級版本的1/2,其每個象素是上級圖像四個象素的平均值,所有版本構(gòu)成了一個圖像金字塔。高低Mip-Map紋理反走樣技術(shù)高低55Mip-Map方法在確定一個屏幕象素的紋理顏色時需要計算三個參數(shù),即屏幕象素中心在紋理平面上映射點的坐標(u,v)和屏幕象素內(nèi)可見平面區(qū)域在紋理平面上所映射區(qū)域的邊長d。d決定了應(yīng)在哪一級分辨率的紋理圖像上進行紋理采樣。通常情況下,可以根據(jù)象素的四個角點在紋理平面上的對應(yīng)坐標,對d進行估計:(x,y)(x+1,y)(x+1,y+1)(x,y+1)yxuvABCDd是一個實數(shù),通常介于兩個分辨率圖像的象素邊長之間,這時,首先通過插值(橫向)確定象素中心在這兩幅圖像上的紋理顏色,再使用這兩個紋理顏色在兩幅圖像之間作線性插值(縱向),這個紋理顏色既是對應(yīng)象素的紋理顏色。Mip-Map方法在確定一個屏幕象素的紋理顏色時需要計算三個56Mip-Map的紋理映射過程通過三角形三個頂點的對應(yīng)坐標建立了屏幕坐標到紋理坐標的映射三維空間屏幕空間紋理空間110Mip-Map的紋理映射過程通過三角形三個頂點的對應(yīng)坐標建立57Mip-Map的紋理映射過程-d-11/81/41/2象素長度顏色dMip-Map的紋理映射過程-d-11/81/41/2象素長58作業(yè)3使用OpenGL繪制一個立方體,要求:(1)其中的兩個面使用簡單顏色繪制(顏色自己定,可以是漸變色也可以是單一顏色)、兩個面使用光照繪制(材料自己定)、兩個面使用紋理繪制(紋理圖像要求至少有一張是自己的面部特寫)。(2)可以用鼠標進行圖像的旋轉(zhuǎn)、放大和平移。其中鼠標左鍵控制旋轉(zhuǎn);鼠標右鍵控制圖像的平移、鼠標滾輪控制圖像的放大。旋轉(zhuǎn)、放大和平移有效果就行。作業(yè)3使用OpenGL繪制一個立方體,要求:59計算機生成的圖形是由離散點組成的數(shù)字化圖像,因而生成的圖形必然與真實景物之間存在誤差。這種誤差表現(xiàn)為圖形上的直線或光滑的曲線呈鋸齒狀、彩色花紋失去原有的形態(tài)和色彩、細小物體在畫面上得不到反映等等。這種現(xiàn)象在計算機圖形學(xué)中稱為圖形走樣(aliasing)。從信號理論來看這是由于生成圖像時對真實畫面的采樣頻率過低造成的。解決這個問題的最根本方法是用面積采樣代替點采樣,或者在景物的細節(jié)部分增加采樣點,并使用適當?shù)臑V波器對采樣信號進行處理(例如加權(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)增加采樣點反走樣在使用光線跟蹤方法繪制圖形時,可采用象素細分技術(shù)增加采樣點進行反走樣。其基本思想是將發(fā)生圖形走樣的象素細分為四個象素,分別對子象素進行光線跟蹤,若子象素仍有圖形走樣,則繼續(xù)細分子象素直到每一子象素的光亮度都大致正確為止。最后取各子象素光亮度的加權(quán)平均即可得到整個象素的光亮度。Procedureantialiasing(I1,I2,I3,I4,I)//I1,I2,I3,I4為當前象素或子象素四個角點的光亮度值,//I為所求的當前象素或子象素的光亮度。BeginIf(I1,I2,I3,I4大致相等)then

I=(I1+I2+I3+I4)/4ElseBegin在象素四條邊界的中點及象素中心點發(fā)出光線,得到五個采樣點處的光亮度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)增加采樣點反走樣在使用光線跟蹤方法繪制圖形時,可采用象素626.8一些特殊效果1)霧化(fog)霧化是一種可以添加到最終圖像中的簡單效果,可以用于很多目的:①可以提高戶外場景的真實度。②可以幫助場景中的觀察者確定物體所在位置的遠近。③可以實現(xiàn)遠平面的光滑剪裁。假設(shè)物體表面的顏色為Cs,霧的顏色為Cf,霧化因子為f,最終象素的顏色Cp,則:Cp=f·Cs+(1-f)·Cf霧化系數(shù)f∈[0,1],它隨視點距離的增加而減少,有各種計算方法,例如:

線性霧化指數(shù)霧化平方指數(shù)霧化其中,Zp為象素點的Z深度,df為控制霧化濃度的參數(shù)。6.8一些特殊效果1)霧化(fog)霧化是一種可以添加到最632)陰影(shadow)

當觀察方向與光源重合時,觀察者看不到任何陰影。但當兩者不一致時,就會出現(xiàn)陰影。陰影可以表現(xiàn)出畫面上景物的遠近和相對方位,從而極大的增強畫面的真實感。本影與半影:陰影分為兩種,本影與半影。位于中間的全黑的輪廓分明的部分稱為本影。本影周圍半明半暗的區(qū)域稱為半影。點光源只產(chǎn)生本影,位于有限距離內(nèi)的分布光源則同時形成本影和半影。本影是任何光線都照不到的區(qū)域,而半影區(qū)域則可接收到從分布光源來的部分光線。自身陰影和投射陰影:自身陰影是由于物體自身的遮擋而使光線照射不到它上面的某些面;投射陰影是由于物體遮擋光線,使場景中位于它后面的物體或區(qū)域受不到光照射而形成的。由于陰影與觀察者的位置無關(guān),陰影信息可以反復(fù)利用。然而除了光線跟蹤算法以外,基于物體空間的圖形顯示方法對陰影的繪制并非易事。下面介紹兩種方法:①陰影體法;②陰影圖法2)陰影(shadow)當觀察方向與光源重合64陰影體法由一個點光源和一個三角形可以生成一個無限大的陰影體。落在這個陰影體中的物體,就處于陰影中。假設(shè)正在對場景進行觀察,同時跟蹤一條通過某個象素點的光線,直到這條光線碰到屏幕上顯示的某個物體。在對光線進行跟蹤的過程中,如果這條射線穿過了陰影體的一個正面(朝向視點的一個面),則計數(shù)器加1。如果這條射線穿過了陰影體的一個背面(背向視點的一個面),則計數(shù)器減1。如果最終計數(shù)器的數(shù)值大于0,則說明這個象素處于陰影中,否則處于陰影之外。注:三角形本身不用考慮,因為這里它只能是不透明的,它后面的物體會被它遮住。AB陰影體法由一個點光源和一個三角形可以生成一個無限大的陰影體。65續(xù)前頁通過巧妙使用模板緩沖器,可以將陰影投射到任意形狀的物體上:第一步,將模板緩沖器清空。第二步,只使用環(huán)境光和自發(fā)光,對場景進行繪制,得到幀緩沖器中的圖像和深度緩沖器中的深度。第三步,關(guān)閉幀緩沖器和深度緩沖器,但啟動深度比較,打開模板緩沖器。在模板緩沖器中繪制出所有陰影體的正向多邊形。每繪制一個多邊形,就使模板緩沖器的數(shù)值增加1。第四步,在模板緩沖器中繪制出所有陰影體的背向多邊形。每繪制一個多邊形,就使模板緩沖器的數(shù)值減少1。(模板不能用顏色繪圖)第五步,關(guān)閉模板緩沖器,但啟用模板,打開幀緩沖器。打開并清空深度緩沖,啟用深度比較,在幀緩沖器中對整個場景再次進行繪制,但只繪制模板緩沖器中數(shù)值為0的象素。演示續(xù)前頁通過巧妙使用模板緩沖器,可以將陰影投射到任意形狀的物體66陰影圖法這種方法的主要思想是使用Z緩沖器算法,從投射陰影的光源位置對整個場景進行繪制。這時,對于Z緩沖器的每一個象素,它的z深度值包括了這個象素到距離光源最近點的物體的距離。一般將Z緩沖器中的整個內(nèi)容稱為陰影圖(ShadowMap),有時候也稱為陰影深度圖。為了使用陰影圖,需要對場景進行二次繪制,不過這次是從視點的角度來進行的。在對每個圖元進行繪制的時候,將它們的位置與陰影圖進行比較,如果繪制點距離光源比陰影圖中的數(shù)值還要遠,那么這個點就在陰影中,否則就不在陰影中。這種做法與深度測試的思想類似,只不過這里是光源計算深度而不是從視點。光源視點abVaVb陰影圖法這種方法的主要思想是使用Z緩沖器算法,從投射陰影的光67續(xù)前頁高版本的OpenGL對這種方法提供了支持。其實現(xiàn)過程可以簡單描述為(參見:OpenGLProgrammingGuideSixthEdition):首先:以光源為視點對場景進行第一次繪制。本次生成的圖像并不重要,關(guān)鍵是取得其Z緩沖中生成的陰影圖,并將其制作成紋理。其次:從視點對場景進行第二次繪制。在繪制過程中為所有像素點計算其三維紋理坐標,計算方法與生成紋理的方法相同。這時,如果某像素的第三紋理坐標小于紋理中的灰度,則該像素不在陰影中,其顏色就是光照的顏色;反之則在陰影中,其顏色為零。這種方法的優(yōu)點是可以使用一般用途的圖形硬件(紋理貼圖硬件)對任意的陰影進行繪制(但軟件版本要高);缺點是陰影質(zhì)量與陰影圖的象素分辨率有很大關(guān)系,同時也依賴于Z緩沖器的數(shù)值精度。續(xù)前頁高版本的OpenGL對這種方法提供了支持。其實現(xiàn)過程可683)粒子系統(tǒng)

粒子系統(tǒng)是一組分散的微小物體集合,其中的這些微小物體按照某種算法運動,實際應(yīng)用包括模擬火焰、煙、爆炸、流水、樹木、旋轉(zhuǎn)星系和其它一些自然現(xiàn)象。這種方法的思想是在粒子的生命周期內(nèi)控制它的產(chǎn)生、運動、變化和消失。 每個粒子可以是屏幕上的一個單獨點,也可以用一個布告版來表示。 布告版(billboard)就是一個方向始終朝向視點的多邊形,在繪制這個多邊形時可以使用透明紋理技術(shù)。演示3)粒子系統(tǒng) 粒子系統(tǒng)是一組分散的微小物體集合,其中的這些微69最新計算機圖形學(xué)第六章真實感圖形學(xué)課件70計算機圖形學(xué)第六章真實感圖形學(xué)計算機圖形學(xué)第六章真實感圖形學(xué)71兩種顯示方式的比較

基于物體空間的顯示:這種顯示方式首先將要顯示的對象表示為相互連接的多邊形(通常是三角形)面片;然后通過一條所謂的圖形繪制管線將每一個三角形繪制到屏幕上。當所有面片都處理完畢后,就得到了一幅完整的真實感圖像。這種顯示方式有圖形硬件的支持,顯示速度很快,通常用于交互設(shè)計。但它的真實感程度稍遜。典型應(yīng)用:交互設(shè)計、游戲。 基于圖像空間的顯示:這種顯示方式逐個計算屏幕象素點的顏色,以獲得整個屏幕的圖像。它采用光線跟蹤算法,通過逆向跟蹤通過屏幕象素的光線路徑,并累加路徑上光線貢獻,得到該象素點的色彩。這種顯示方式可以生成超真實的圖像,是生成最終效果圖的主要方法。典型應(yīng)用:廣告。兩種顯示方式的比較 基于物體空間的顯示:這種顯示方式首先將要72最新計算機圖形學(xué)第六章真實感圖形學(xué)課件73最新計算機圖形學(xué)第六章真實感圖形學(xué)課件74最新計算機圖形學(xué)第六章真實感圖形學(xué)課件75最新計算機圖形學(xué)第六章真實感圖形學(xué)課件76最新計算機圖形學(xué)第六章真實感圖形學(xué)課件77最新計算機圖形學(xué)第六章真實感圖形學(xué)課件78三刺激空間:R、G、B三原色(其實是X、Y、Z)的單位向量定義了一個三維顏色空間,該三維向量空間稱為(R、G、B)三刺激空間。色度圖:為了在二維空間中表示顏色,取三刺激空間中的截面(R)+(G)+(B)=1。該截面與三個坐標平面的交線構(gòu)成一個等邊三角形,稱為色度圖。對于三刺激空間中坐標為X、Y、Z的顏色刺激向量,它與色度圖的交點坐標(x,y,z)被稱為色度值:CIE色度圖:把可見光色度圖投影到XY平面上,所得到的馬蹄形區(qū)域稱為CIE色度圖。馬蹄形區(qū)域的邊界和內(nèi)部代表了所有可見光的色度值,邊界彎曲部分代表了光譜在某種純度為百分之百的色光。XYZ0111三刺激空間:R、G、B三原色(其實是X、Y、Z)的單位向量793)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標準精確方法,但是,它的應(yīng)用還是比較復(fù)雜的。在計算機圖形學(xué)中,通常使用一些通俗易懂的顏色模型。所謂顏色模型就是指某個三維顏色空間中的一個可見光子集,它包含某個顏色域的所有顏色。顏色模型的用途是在某個顏色域內(nèi)方便地指定顏色。由于每一個顏色域都是可見光的子集,所以任何一個顏色模型都無法包含所有的可見光。3)常用顏色模型雖然色度圖和三刺激值給出了描述顏色的標準精確80RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模型。它采用紅、綠、藍為原色,各個原色混合在一起可以產(chǎn)生復(fù)合色,被稱為加色系統(tǒng)。通常采用單位立方體來表示。RGB三原色混合效果RGB立方體RGB顏色模型:RGB顏色模型通常用于彩色光柵圖形設(shè)備中,是使用最多的顏色模81CMY顏色模型:以紅、綠、藍的補色青(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這個過程稱為底色去除。CMY顏色模型:CMYK顏色模型:82XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標和三刺激值給出了描述顏色的標準精確方法。由于涉及顏色的工業(yè)部門都各有一套顏色描述的規(guī)則和慣例。采用CIE色度坐標有助于這些工業(yè)部門之間顏色信息的傳遞和轉(zhuǎn)換。因此從CIE坐標值到另一種顏色系統(tǒng)的變換及逆變換是引人關(guān)注的研究課題。計算機圖形學(xué)需要在CIEXYZ系統(tǒng)和RGB加色系統(tǒng)之間進行轉(zhuǎn)換。由RGB顏色空間至CIEXYZ顏色空間的變換為其中Xr、Yr、Zr為生成單位量的R原色所需要的三刺激值,Xg、Yg、Zg以及Xb、Yb、Zb類同。只要將RGB顏色模型的三個分量帶入,就可以得到在CIEXYZ系統(tǒng)中的三刺激值。XYZ系統(tǒng)到RGB模型的相互轉(zhuǎn)換CIE的色度坐標和三刺激值給836.2

光照明模型

當光照射到物體表面時,光線可能被吸收、反射和透射。被物體吸收的部分轉(zhuǎn)化為熱,反射、透射的光進入人的視覺系統(tǒng),使我們能看見物體。為模擬這一現(xiàn)象,需要建立一些數(shù)學(xué)模型來替代復(fù)雜的物理模型,這些模型被稱為明暗效應(yīng)模型或者光照明模型。三維物體的圖形經(jīng)過消隱后,再進行明暗效應(yīng)的處理,可以進一步提高圖形的真實感。6.2光照明模型當光照射到物體表面時,光線可能被吸收、反841)光的傳播在正常的情況下,光沿著直線傳播,當光遇到介質(zhì)不同的表面時,會產(chǎn)生反射和折射現(xiàn)象,而且在反射和折射的時候,遵循反射定律和折射定律。(1)反射定律:入射角等于反射角,且反射光線、入射光線與法向量在同一平面上。(2)折射定律:折射角與入射角滿足,η1/η2=sinφ/sinθ且折射線在入射線與法線構(gòu)成的平面上,η1、η2為兩種介質(zhì)的折射率。(3)能量關(guān)系:在光的反射和折射現(xiàn)象中,能量是守恒的,能量的分布情況滿足:Ii=Id+Is+It+Iv其中:Ii為入射光強,由光源引起;Id為漫反射光強,由表面不光滑引起;Is為鏡面反射光強,由表面光滑性引起;It為透射光,由物體的透明性引起;Iv為被物體所吸收的光,由能量損耗引起。1)光的傳播在正常的情況下,光沿著直線傳播,當光遇到介質(zhì)不同856.3簡單光照明模型

簡單光照明模型模擬物體表面對光的反射作用。光源被假定為點光源,反射作用被細分為鏡面反射(SpecularReflection)和漫反射(DiffuseReflection)。簡單光照明模型只考慮物體對直接光照的反射作用,而物體間的光反射作用,只用環(huán)境光(AmbientLight)來表示。6.3簡單光照明模型簡單光照明模型模擬物體表面對光的反射86漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點無關(guān)。記入射光強為Ip,物體表面上點P

的法向為N

,從點P指向光源的向量為L,兩者間的夾角為θ,則漫反射光強為:Id=Ip*Kd*cos(θ)θ∈(0,π/2)其中,Kd是與物體有關(guān)的漫反射系數(shù),0<Kd<1。當L、N為單位向量時:Id=Ip*Kd*(L·N)在有多個光源的情況下,有如下表示:Id=Kd∑Ipi*(Li·N)在RGB顏色模型下,漫反射系數(shù)Kd有三個分量Kdr,Kdg,Kdb分別代表RGB三原色的漫反射系數(shù),它們是反映物體的顏色的,通過調(diào)整它們,可以改變物體的顏色。同樣,我們也可以把入射光強I設(shè)為三個分量Ir,Ig,Ib,通過這些分量的值來調(diào)整光源的顏色。PNLθ1)理想漫反射漫反射由表面的粗糙不平引起,它均勻地向各方向傳播,與視點無關(guān)87對于理想鏡面,反射光集中在一個方向,并遵守反射定律。對一般的光滑表面,反射光集中在一個范圍內(nèi),且由反射定律決定的反射方向光強最大。因此,對于同一點來說,從不同位置所觀察到的鏡面反射光強是不同的。鏡面反射光強可表示為:Is=Ip*Ks*cosn(α),α∈(0,π/2)其中Ks是與物體有關(guān)的鏡面反射系數(shù),α為視線方向V與反射方向R的夾角,n為反射指數(shù),反映了物體表面的光澤程度,一般為1~2000,數(shù)目越大物體表面越光滑。鏡面反射光會在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象。同樣,將V和R都格式化為單位向量,鏡面反射光強可表示為:Is=Ip*Ks*(R·V)n對多個光源的情形,鏡面反射光強可表示為:Is=Ks∑[Ipi

(Ri·V)n]鏡面反射光產(chǎn)生的高光區(qū)域只反映光源的顏色,鏡面反射系數(shù)Ks是一個與物體的顏色無關(guān)的參數(shù)(與光潔程度有關(guān))。綜合前面已經(jīng)提到的,在簡單光照明模型中,我們只能通過改變物體的漫反射系數(shù)來控制物體的顏色。2)鏡面反射對于理想鏡面,反射光集中在一個方向,并遵守反射定律。對一般的88環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,最終達到平衡時的一種光。我們近似地認為同一環(huán)境下的環(huán)境光,其光強分布是均勻的,它在任何一個方向上的分布都相同。例如,透過厚厚云層的陽光就可以稱為環(huán)境光。在簡單光照明模型中,我們用一個常數(shù)來模擬環(huán)境光:Ie=Ia·Ka其中:Ia為環(huán)境光的光強,Ka為物體對環(huán)境光的反射系數(shù)。3)環(huán)境光環(huán)境光是指光源間接對物體的影響,是在物體和環(huán)境之間多次反射,894)Phong光照明模型綜合上面介紹的光反射作用的各個部分,Phong光照明模型有這樣的一個表述:由物體表面上一點P反射到視點的光強I為環(huán)境光的反射光強Ia、理想漫反射光強Id、和鏡面反射光Is的總和,即:4)Phong光照明模型綜合上面介紹的光反射作用的各個部分,90在用Phong模型進行真實感圖形計算時,對物體表面上的每個點P,均需計算光線的反射方向R,再由V計算(R·V)。為減少計算量,我們可以作如下假設(shè):a)光源在無窮遠處。即光線方向L為常數(shù);b)視點在無窮遠處,即視線方向V為常數(shù);c)用(H·N)近似(R·V)。這里H為L和V的平分向量,H=(L+V)/|L+V|。在這種簡化下,由于對所有的點總共只計算一次H的值(N總是需要計算的),節(jié)省了計算時間。在用Phong模型進行真實感圖形計算時,對物體表面上的每個點91OpenGL對多邊形的處理: 多邊形頂點顏色使用Phone光照明模型計算,多邊形的填充使用Gouraud明暗模式。Gouraud明暗模式: 首先,通過頂點線性插值多邊形邊界象素的顏色;其次,通過掃描線與邊界的交點線性插值多邊形內(nèi)部象素顏色。 缺點:不夠細致,對較大的多邊形最好進行分解!OpenGL對多邊形的處理:926.4

光透射模型

對于透明(transparency)或半透明的物體,在光線與物體表面相交時,一般會產(chǎn)生反射與折射(refraction),經(jīng)折射后的光線將穿過物體而在物體的另一個面射出,形成透射光。如果視點在折射光線的方向上,就可以看到透射光。

6.4光透射模型對于透明(transparency)或半931)透明效果的簡單模擬

顏色調(diào)和法:該方法不考慮透明體對光的折射以及透明物體本身的厚度,光通過物體表面是不會改變方向的,故可以模擬平面玻璃。設(shè)t是物體的透明度,t=0表示物體是不透明體;t=1表示物體是完全透體。我們所看到的顏色,是物體表面的顏色和透過物體的背景顏色的疊加。設(shè)過象素點(x,y)的視線與物體相交處的顏色(或光強)為Ia,視線穿過物體與另一不透明物體相交處的顏色(或光強)為Ib,則象素點(x,y)的顏色(或光強)可由如下顏色調(diào)和公式計算:I=t*Ib+(1-t)*Ia其中,Ia和Ib可由簡單光照明模型計算。由于未考慮透射光的折射,以及透明物體的厚度,顏色調(diào)和法只能模擬玻璃的透明或半透明效果。1)透明效果的簡單模擬顏色調(diào)和法:該方法不考慮透明體對光942)Whitted光透射模型其中It’和Is’分別為折射方向和反射方向的入射光強度(非光源);Kt’和Ks’分別為透射系數(shù)和反射系數(shù),都是0-1之間的常數(shù),取決于物體的材質(zhì)。Ks和Ks’可以相同。這一模型于1980年由Whitted提出,并第一次給出了使用此模型的光線跟蹤算法范例。NθφθVIsItIp在簡單光照明模型的基礎(chǔ)上,加上透射光項就得到Whitted光透射模型:再加上鏡面反射光項,就得到Whitted整體光照模型:2)Whitted光透射模型其中It’和Is’分別為折射方953)Hall光透射模型

Hall光透射模型是在Whitted光透射模型的基礎(chǔ)上推廣而來的。實際上,就是在Whitted模型的光強計算中加入光源引起的漫透射和規(guī)則透射。透明體的粗糙表面對透射光的作用表現(xiàn)為漫透射。如毛玻璃表面即為漫透射面。當光線透過這樣的表面射出時,光線將向各個方向散射。對理想漫透射面,透射光的光強在各個方向均相等。用Lambert余弦定律描述點P處的漫透射光的光強為:其中Ip為入射光的強度,Kdt為物體的漫透射系數(shù),在0與1之間。L為入射光的方向,N為面法線(-N為背面法線)。法線N入射方向L3)Hall光透射模型Hall光透射模型是在Whitte96對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他方向均見不到。對非理想透明物體,視點在透射方向附近也能見到部分透射光,但強度隨視線V與光線的折射方向T的夾角的增大而急劇減小。這種規(guī)則透射光的光強比漫透射光強高出好多倍,在折射方向周圍形成高光域,這個高光域的光強要比其周圍區(qū)域要大的多。Hall用下面的式子模擬透射高光現(xiàn)象:法線N入射方向L折射方向T視線V其中,It為規(guī)則透射光在視線方向的強度,Ip為入射光的強度;Kt為物體的透明系數(shù),n為反映物體表面光澤度的常數(shù)。對于理想的透明介質(zhì),只有在光線的折射方向才能見到透射光,其他974)光透射模型

綜合簡單光照明模型,Whitted光透射模型和Hall光透射模型,可得簡單光反射透射模型(含有全局項):其中下標i表示直接照射表面的光源,下標j表示引起折射的光源;下標ds表示漫反射,下標s表示規(guī)則反射;下標dt表示漫折射,下標t表示規(guī)則折射;上標’表示非光源項;L表示光源方向;N表示法線方向;R表示反射方向;V表示視線方向;T表示折射方向。4)光透射模型綜合簡單光照明模型,Whitted光透射模型986.5整體光照明模型

簡單光照明模型雖然可以產(chǎn)生物體的真實感圖象,但它只考慮物體對直接光照的反射作用,不能很好的模擬光的折射和陰影等,也不能用來表示物體間的相互光照明影響;而基于簡單光照明模型的光透射模型,雖然可以模擬光的折射,但是這種折射的計算范圍很小,不能很好的模擬多個透明體之間的復(fù)雜光照明現(xiàn)象。對于上述的這些問題,必須要有一個更精確的光照明模型。整體光照明模型就是這樣的一種模型。在現(xiàn)有的整體光照明模型中,主要有光線跟蹤和輻射度兩種方法,它們是當今真實感圖形學(xué)中最重要的兩個圖形繪制技術(shù),在CAD及圖形學(xué)領(lǐng)域得到了廣泛的應(yīng)用。6.5整體光照明模型簡單光照明模型雖然可以產(chǎn)生物體的真實991)光線跟蹤算法

光線跟蹤算法是真實感圖形學(xué)中的主要算法之一,該算法具有原理簡單、實現(xiàn)方便和能夠生成各種逼真的視覺效果等突出的優(yōu)點,綜合考慮了光的反射、折射、陰影等。光線跟蹤的基本原理:模擬理想表面的光線傳播,跟蹤鏡面反射和折射。由光源發(fā)出的光線,經(jīng)反射與折射,只有很少部分可以進入人的眼睛。因此光線跟蹤算法的跟蹤方向與光傳播的方向是相反,是視線跟蹤。由視點與象素(x,y)發(fā)出一根射線,與第一個物體相交后,在其反射與折射方向上進行跟蹤。1)光線跟蹤算法光線跟蹤算法是真實感圖形學(xué)1001)由光源產(chǎn)生的直接的光線照射光強,是交點處的局部光強,可以由簡單光照模型計算(但要考慮遮擋)。2)反射方向上由其它物體引起的間接光照光強,由IsKs'

計算,Is通過對反射光線的遞歸跟蹤得到。3)折射方向上由其它物體引起的間接光照光強,由ItKt'計算,It通過對折射光線的遞歸跟蹤得到。光線跟蹤算法的基本過程

當視線與物體表面交于點P時,點P的光分為三部分,把這三部分光強相加,就是P點處的總的光強:兩個透明球和一個非透明物體組成場景的光線跟蹤光線跟蹤算法的基本過程當視線與物體表面交于點101

雖然在理想情況下,光線可以在物體之間進行無限次的反射和折射,但是在實際的算法進行過程中,我們不可能進行無窮的光線跟蹤,因而需要給出一些跟蹤的終止條件。實際應(yīng)用中,可以有以下幾種終止條件:①該光線未碰到任何物體。②該光線碰到了背景(即邊界)。③光線經(jīng)過許多次反射和折射以后,就會產(chǎn)生衰減。當衰減系數(shù)小于某個給定的值時,光線對于視點的光強貢獻很小,這時可以停止跟蹤。④光線反射或折射的次數(shù)(即跟蹤深度)大于給定的值。光線跟蹤終止條件 雖然在理想情況下,光線可以在物體之間進行無限次的反射和折102光線跟蹤算法偽碼:函數(shù)名為RayTracing(),光線的起點為start,光線的方向為direction,光線的衰減權(quán)值為weight,初始值為1,算法最后返回光線方向上的顏色值color。對于每一個象素點,第一次調(diào)用RayTracing()時,可以設(shè)起點start為視點,而direction為視點到該象素點的射線方向。RayTracing(start,direction,weight,color)

{

if(weight<MinWeight)

color=black;

else

{

計算光線與所有物體的交點中離start最近的點;

if(沒有交點)

color=black;

else

{

Ilocal=在交點處用局部光照模型計算出的光強;

計算反射方向R;

RayTracing(最近的交點,R,weight*Wr,Ir);//Wr:反射方向的衰減系數(shù)

計算折射方向T;

RayTracing(

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論