版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
(一)第8章真實感圖形生成2
真實感圖形繪制流程場景造型取景變換背面剔除和視域四棱錐裁剪計算場景中可見面的光亮度和顏色
透視投影隱藏面消除
3取景變換(1/6)場景坐標(biāo)系場景的局部坐標(biāo)系完成物體的造型場景的世界坐標(biāo)系(整體坐標(biāo)系)放入待繪制的場景,定義物體之間的相互位置如果物體被設(shè)置了動畫動畫系統(tǒng)將提供一個隨時間變化的變換矩陣逐幀把物體變換到世界坐標(biāo)系中xzyzyx4取景變換(2/6)觀察坐標(biāo)系也稱攝像機坐標(biāo)系,或者視點坐標(biāo)系完成取景變換所需建立的第一個坐標(biāo)系5取景變換(3/6)建立觀察坐標(biāo)系的步驟確定觀察參考點,即視點位置可以設(shè)在任何位置通常選在靠近或在物體的表面將視點位置取為視點坐標(biāo)系的原點確定觀察方向,即視線方向一般取深度坐標(biāo)軸,即ze軸的正向為簡便起見,設(shè)為總是指向場景坐標(biāo)系的原點確定觀察平面,即視平面位置一般取過視點且垂直于視線方向的平面,即xeye平面6取景變換(4/6)場景坐標(biāo)系一般取右手坐標(biāo)系觀察坐標(biāo)系通常取左手坐標(biāo)系符合人們的觀察習(xí)慣xwzwywzexeye視點E觀察坐標(biāo)系為左手坐標(biāo)系場景坐標(biāo)系為右手坐標(biāo)系O7取景變換(5/6)將物體投影到觀察平面之前必須將場景坐標(biāo)系中的點轉(zhuǎn)換到觀察坐標(biāo)系中
這一過程稱為取景變換,也稱視向變換包括平移和旋轉(zhuǎn)的一系列幾何變換的級聯(lián)取景變換矩陣8取景變換(6/6)場景坐標(biāo)系原點平移到視點位置E繞xe軸逆時針旋轉(zhuǎn)90o繞ye軸順時針旋轉(zhuǎn)Ψ角繞xe軸逆時針旋轉(zhuǎn)θ角調(diào)整x軸指向?qū)軸作對稱變換xwzwywzexeyeEOCxCyCzΨxwzwywzexeyeEOCxCyCz90oxwzwywzexeyeEOCxCyCzxwzwywzexeyeEOCxCyCzΨθθ9消隱算法(1/2)消隱的基本(核心)問題:排序整體排序:畫家算法點排序:Z-Buffer算法、光線投射算法區(qū)間排序:掃描線算法區(qū)域排序:區(qū)域子分算法10消隱算法(2/2)按實現(xiàn)方式不同分為兩大類:景物空間(objectspace)
消隱算法直接在視點坐標(biāo)系中確定視點不可見的表面區(qū)域?qū)⑺鼈儽磉_(dá)成同原表面一致的數(shù)據(jù)結(jié)構(gòu)側(cè)重于景中各物體之間的幾何關(guān)系圖像空間(imagespace)消隱算法
在投影屏幕上,以屏幕像素為采樣單位,確定投影于每一像素的可見景物表面區(qū)域?qū)⑵漕伾鳛樵撓袼氐娘@示光亮度側(cè)重于向屏幕投影后形成的圖像11提高消隱算法效率的常用方法(1/5)提高消隱算法效率利用各種形式的相關(guān)性(連貫性)物體的連貫性面的連貫性區(qū)域的連貫性掃描線的連貫性幀的連貫性12提高消隱算法效率的常用方法(2/5)包圍盒技術(shù)避免盲目求交包圍盒--包圍目標(biāo)的簡單形體包圍簡單常用的包圍盒長方體球圓柱13提高消隱算法效率的常用方法(3/5)空間分割技術(shù)14提高消隱算法效率的常用方法(5/5)背面剔除算法
法向向量N
視線向量V法向向量N
法向向量N<90°<90°可見可見不可見>90°15隱藏面的消除-畫家算法
(1/4)畫家算法
1972年M.E.Newell受畫家由遠(yuǎn)至近作畫的啟發(fā)景物空間消隱算法16隱藏面的消除-畫家算法
(2/4)基本思想畫家消隱算法{
對場景中的多邊形按深度進(jìn)行排序, 形成深度優(yōu)先級隊列; 按從遠(yuǎn)到近的順序顯示多邊形;}也稱優(yōu)先級表算法17隱藏面的消除-畫家算法
(3/4)基本步驟生成深度優(yōu)先級隊列據(jù)視點距離遠(yuǎn)的多邊形優(yōu)先級低,排在隊列的前端據(jù)視點距離近的多邊形優(yōu)先級高,排在隊列的后端從隊列中依次取出多邊形,計算其表面光亮度寫入幀緩沖器
直到隊列中所有多邊形的光亮度都計算完畢,并寫入幀緩沖器18隱藏面的消除-畫家算法
(4/4)優(yōu)點:簡單,容易實現(xiàn)適于圖形的動態(tài)顯示飛行訓(xùn)練模擬器中顯示飛機著陸時的情景場景中的物體是不變的,只是視點在變化只要事先把不同視點的景物的優(yōu)先級隊列算出再實時地采用畫家算法來顯示圖形就可以實現(xiàn)圖形的快速消隱與顯示缺點:深度排序計算量大19隱藏面的消除-畫家算法
(4/4)問題:深度優(yōu)先級表的建立是動態(tài)進(jìn)行的。假定觀察方向同Z軸同向,則最初可按各面的最小z值排序。但排序可能出錯盡管面S1的最小z值小于面S2的最小z值,但正確順序是面S2位于面S1前若存在兩面相交和循環(huán)遮擋,必須求交分割后再進(jìn)行排序20隱藏面的消除-畫家算法
(4/4)算法(1)計算各面最小z值zmin,并以此值的優(yōu)先級進(jìn)行排序,建立初步的深度優(yōu)先表;(2)表空結(jié)束。否則取表中深度最大的面Sn,檢查表中其它各面Sk(k=0,1,...,n-1)與Sn是否在Z方向存在重疊的關(guān)系。存在,記重疊面為Sj轉(zhuǎn)(3)。否則,將Sn寫入幀緩沖器,n=n-1轉(zhuǎn)(2);(3)檢查Sn是否遮擋Sj,不遮擋則將Sn寫入幀緩存器,n=n-1轉(zhuǎn)(2)。否則,交換Sn和Sj在表中位置,轉(zhuǎn)(2)。如果Sn和Sj已經(jīng)交換過位置,則兩面交叉遮擋,轉(zhuǎn)(4);(4)用Sn和Sj的交線分割Sn為兩部分,轉(zhuǎn)(1)。21隱藏面消除-Weiler-Atherton算法(1/3)Weiler-Atherton算法景物空間消隱算法基于Weiler-Atherton多邊形裁剪操作22隱藏面消除-Weiler-Atherton算法(2/3)基本步驟
1)深度預(yù)排序,形成景物多邊形表
將變換到屏幕坐標(biāo)系中的景物表面按各頂點的z最小值進(jìn)行排序2)當(dāng)前具有最大z值的景物表面作為裁剪多邊形CP
深度最大、離視點最近3)用CP對景物多邊形表中排在后面的表面進(jìn)行裁剪
產(chǎn)生內(nèi)部多邊形Pin和外部多邊形Pout
裁剪多邊形將主多邊形裁剪為內(nèi)部多邊形和外部多邊形PinPout裁剪多邊形CP主多邊形SP23隱藏面消除-Weiler-Atherton算法(3/3)4)比較CP與Pin的深度,檢查CP是否真正離視點最近是,則CP為可見表面不是,則取Pin為新的CP,重復(fù)步驟3)5)將位于CP之外的景物表面組成外裁剪結(jié)果多邊形表
取表中深度最大的表面為CP,重復(fù)步驟3)6)遞歸進(jìn)行直到外裁剪結(jié)果多邊形表為空時為止24隱藏面的消除-BSP樹算法(1/2)BSP樹算法BinarySpacePartitioning景物空間消隱算法基于BSP樹,對景物表面進(jìn)行二叉分類與畫家算法類似,景物多邊形由遠(yuǎn)至近繪制特別適合的場合場景中物體位置固定不變、僅視點移動25隱藏面的消除-BSP樹算法(2/2)基本步驟
選一剖分平面P1,將場景空間分割成兩個半空間剖分結(jié)果表示為一棵BSP樹葉節(jié)點:景物左分支:位于剖分平面前面的景物右分支:位于剖分平面后面的景物依據(jù)視點位置,對子空間進(jìn)行分類包含視點的子空間標(biāo)識為“front”另一側(cè)子空間標(biāo)識為“back”遞歸搜索該BSP樹,優(yōu)先繪制標(biāo)識為“back”的子空間中所含的景物P1P2P2frontfrontfrontbackbackbackACDB與物體相交,就將它分割為兩個物體
BfrontfrontbackbackACDP1P226隱藏面消除-深度緩沖器算法(1/10)深度緩沖器算法Depth—bufferalgorithm圖像空間消隱算法1975年,Catmull提出在像素級上以近物取代遠(yuǎn)物有利于硬件實現(xiàn),但需要較多存儲空間27隱藏面消除-深度緩沖器算法(2/10)深度與可見性uvnxmaxymax28隱藏面消除-深度緩沖器算法(3/10)基本思想將投影到顯示屏上的每一個象素所對應(yīng)的多邊形表面的深度進(jìn)行比較取最靠近視點的表面的屬性值作為該像素的屬性值用frame—buffer記錄該表面在該像素點的顏色或亮度值用Z—buffer記錄該表面在該像素點的深度深度緩沖器幀緩沖器的擴充也稱Z-Buffer算法29隱藏面消除-深度緩沖器算法(4/10)基本步驟
取景變換、透視變換、掃描轉(zhuǎn)換將物體描述轉(zhuǎn)化為屏幕坐標(biāo)系中的投影坐標(biāo)初始化深度緩沖器初始化為離視點最遠(yuǎn)的最小值幀緩沖器初始化為背景的屬性值30隱藏面消除-深度緩沖器算法(5/10)流程:for(場景中的每一個多邊形){
掃描轉(zhuǎn)換該多邊形;
for(多邊形所覆蓋的每一個像素點(x,y))
{
計算多邊形在該像素點的深度值z(x,y);
if(z(x,y)>Z-buf中對應(yīng)此像素點(x,y)的z值)
{
把多邊形在(x,y)處的深度值z(x,y)存入Z-buf中的(x,y)處;把多邊形在(x,y)處的亮度值存入f-buf中的(x,y)處;
}}}當(dāng)所有的多邊形都處理完后,幀緩沖器中的內(nèi)容即為消除隱藏面后的圖像31隱藏面消除-深度緩沖器算法(6/10)優(yōu)點簡單,可輕而易舉地處理任意復(fù)雜的畫面在象素級上以近物代替遠(yuǎn)物,易于消除隱藏面,并準(zhǔn)確顯示復(fù)雜曲面之間的交線。計算量呈線性復(fù)雜度O(n)n:場景中景物表面采樣點的數(shù)目圖象空間的大小是固定的,計算量最多隨畫面復(fù)雜度線性增長無需對各景物表面片作深度預(yù)排序景物表面上的可見點可按任意次序?qū)懭肷疃染彌_器和幀緩沖器易于硬件實現(xiàn)圖形工作站上帶有用于消隱的深度緩存,克服了深度緩存算法占用大量存儲單元的缺點很多微型機上都裝有基于深度緩沖器算法的圖形加速卡32隱藏面消除-深度緩沖器算法(7/10)缺點需要很大的存儲空間例如:象素數(shù)目500×500,深度值采用浮點型(4字節(jié))除刷新緩存外,還需500*500*4=1M字節(jié)的額外存儲空間在實現(xiàn)反走樣、處理透明和半透明等效果方面存在困難,并產(chǎn)生巨大的處理時間開銷由于在幀緩沖器內(nèi)的同一象素點上可見表面的寫入順序是不確定的,所以可能導(dǎo)致畫面上的局部錯誤。33隱藏面消除-深度緩沖器算法(8/10)改進(jìn)一:減少需要相對測試的多邊形平面數(shù)最小最大測試
不重疊,不可能互相遮蔽測試無確定結(jié)果
對每條邊進(jìn)行最小最大測試XminXmax34隱藏面消除-深度緩沖器算法(9/10)改進(jìn)二:利用連貫性計算深度水平方向豎直方向xmaxymax35隱藏面消除-深度緩沖器算法(10/10)改進(jìn)三:降低對存儲空間的需求圖像空間劃分為4、16甚至更多的子正方形或條狀區(qū)域在最小情況下,只對應(yīng)一條掃描線的深度緩沖器掃描線相關(guān)算法36隱藏面的消除-掃描線相關(guān)算法(1/5)掃描線相關(guān)算法按掃描線順序處理一幀畫面在掃描平面(ZOX平面)上解決消隱問題由視點和掃描線所決定深度緩沖器算法的一維版本深度緩沖器所需的存儲空間屏幕水平分辨率×每個深度值所占的存儲位數(shù)37隱藏面的消除for(每條掃描線){
將掃描線幀緩沖器f_buf置成背景色;將掃描線深度緩沖器Z_buf置成最小值;
for(每個多邊形){
求出該多邊形與當(dāng)前掃描線的相交區(qū)間;
for(相交區(qū)間內(nèi)每個象素點(x,y)){
計算多邊形在該處的深度值z;
if(多邊形在該處的深度值z>Z_buf在該處的值){
用多邊形在該處的深度值z取代Z_buf在該處的值;用多邊形在該處的亮度值取代f_buf在該處的值;
}}}
用f_buf的內(nèi)容顯示當(dāng)前掃描線;}38隱藏面的消除-掃描線相關(guān)算法(3/5)缺點在每一個被多邊形覆蓋像素處需要計算深度值被多個多邊形覆蓋的像素需要多次計算深度值39隱藏面的消除-掃描線相關(guān)算法(4/5)改進(jìn):區(qū)間掃描線算法在一條掃描線上,以區(qū)間為單位確定多邊形的可見性小區(qū)間上沒有任何多邊形——用背景色顯示小區(qū)間上只有一個多邊形——用對應(yīng)多邊形在該小區(qū)間內(nèi)的顏色顯示小區(qū)間存在兩個或兩個以上的多邊形——通過深度測試判斷哪個多邊形是可見的,然后,用可見多邊形的顏色來顯示40隱藏面的消除-掃描線相關(guān)算法(5/5)例外:多邊形相互貫穿圖7-23掃描線的區(qū)間細(xì)分xy掃描線ABCxzabcdefxzabcdefg(a)多邊形在屏幕上的投影(b)無貫穿的多邊形(c)相互貫穿的多邊形41隱藏面的消除-Warnock算法(1/4)Warnock算法圖像空間消隱算法區(qū)域的連貫性也稱區(qū)域細(xì)分area-subdivision實質(zhì)分而治之42隱藏面的消除-Warnock算法(2/4)基本思想觀察整個窗口區(qū)域判別窗口是否單純窗口內(nèi)無任何可見物體窗口已被一個可見面片完全充滿將非單純的窗口四等分為四個子窗口對每個子窗口再進(jìn)一步判別是否是單純的直到窗口單純或窗口邊長已縮至一個象素點為止
即使1024×1024分辨率視圖被細(xì)分10次后,也能使每個子窗口覆蓋一個像素
43隱藏面的消除-Warnock算法(3/4)關(guān)鍵步驟分析觀察窗口與所有投影后多邊形面片之間的關(guān)系分離內(nèi)含相交包圍——判別窗口是否單純44隱藏面的消除-Warnock算法(4/4)基本步驟對每個窗口判斷與多邊形分離僅包含一個多邊形與一個多邊形相交被一個多邊形所包圍且窗口內(nèi)無其它多邊形若至少被一個多邊形所包圍,且此多邊形距離視點最近——最關(guān)鍵否則繼續(xù)細(xì)分窗口,并重復(fù)以上測試45隱藏面的消除-Warnock算法(4/4)(1)將初始窗口入棧;(2)
棧空結(jié)束。否則,取出棧頂窗口轉(zhuǎn)步驟(3);(3)
檢測確定當(dāng)前窗口與多邊形關(guān)系,若
A.條件①為真,以背景顏色顯示當(dāng)前窗口,轉(zhuǎn)步驟(2);
B.條件②為真,多邊形內(nèi)區(qū)域,以該多邊形顏色顯示,其它區(qū)域以背景顏色顯示,轉(zhuǎn)步驟(2);
C.條件③為真,相交多邊形位于窗口內(nèi)的區(qū)域以該多邊形顏色顯示,其它區(qū)域以背景顏色顯示,轉(zhuǎn)步驟(2);
D.條件④為真,以包圍多邊形顏色顯示當(dāng)前窗口,轉(zhuǎn)步驟(2);
E.條件①~④均不滿足,轉(zhuǎn)步驟(4)。(4)
對當(dāng)前窗口進(jìn)行再細(xì)分,細(xì)分后的子窗口存入堆棧,轉(zhuǎn)(2)。46
光線投射算法(1/4)RayCastingAppel提出建立在幾何光學(xué)基礎(chǔ)之上的可見面判別算法對于包含曲面、特別是球面的場景效率高47
光線投射算法(2/4)基本思想觀察者之所以能看見景物光源發(fā)出的光照射到物體上的結(jié)果其中一部分光到達(dá)人的眼睛引起視覺到達(dá)觀察者眼中的光由物體表面反射通過表面折射或透射若從光源出發(fā)跟蹤光線則只有極少量的光能到達(dá)觀察者的眼睛效率低從視點或像素出發(fā),僅對穿過像素的光線反向跟蹤當(dāng)光線路徑到達(dá)一個可見的不透明物體的表面時停止追蹤48將景物通過透視投影變換到圖像空間反向跟蹤一條穿過像素點的光線決定它與場景中的哪一景物表面相交交點按深度排序需求出該光線與景物表面的所有可能的交點具有最大z值的交點對應(yīng)的面就是屏幕上該像素對應(yīng)的可見面離視點最近該像素處的顯示值由相應(yīng)物體的屬性決定對屏幕上所有像素都進(jìn)行如上處理后,算法結(jié)束
視點光線投影面上的像素位置物體假設(shè)視點位于z軸正向投影平面(屏幕)垂直于z軸反向跟蹤一條穿過像素點的光線光線投射算法(3/4)49光線投射算法(4/4)光線投射算法{for(y=0;y<=ymax;y++)for(x=0;x<=xmax;x++){形成通過像素(x,y)的投影線;
for(場景中的每一個多邊形) 將投影線與多邊形求交;
if(有交點)
以最近交點所屬多邊形的顏色顯示像素(x,y);else
以背景顏色顯示像素(x,y);}}50陰影生成(1/10)什么是陰影光源不能直接照射的區(qū)域?qū)庠磥碚f,不可見的面(隱藏面)考慮陰影的光照明方程51陰影生成(2/10)消隱的結(jié)果對于判別為不可見的點、線、面(透明和半透明物體除外)都予以消除,即不顯示
陰影測試:判斷視點、光源以及物體間的位置關(guān)系從視點可見,從光源也可見被測點與視點之間無任何遮擋利用光照模型計算該點的光亮度從視點可見,從光源不可見陰影區(qū)域,置為該機器的最大像素值相對于部分光源可見,相對于另一部分光源不可見在多光源的情況下52陰影生成(3/10)當(dāng)觀察方向與光源方向重合時觀察者看不到任何陰影可以不進(jìn)行陰影測試當(dāng)觀察方向與光源方向不一致或光源多且光源體制比較復(fù)雜時必須進(jìn)行陰影處理53陰影生成(4/10)計算陰影的過程相當(dāng)于兩次消隱過程對每個光源進(jìn)行消隱求出對光源而言不可見的面或區(qū)域?qū)σ朁c的位置進(jìn)行消隱求出對視點而言可見的面好處改變視點位置,第一次消隱過程不必重新計算若要得到多幅視圖,只進(jìn)行一次陰影計算即可
54陰影生成(5/10)Z緩沖器算法步驟將所有景物變換到光源坐標(biāo)系中,利用Z緩沖器算法按光線方向?qū)拔镞M(jìn)行消隱,把那些距光源最近的物體表面上點的深度值保存在陰影緩沖器中利用Z緩沖器算法按視線方向?qū)拔镞M(jìn)行消隱,將得到的每一個可見點變換到光源坐標(biāo)系中,若它在光源坐標(biāo)系中的深度值比陰影緩沖器中相應(yīng)單元的值小,則說明該可見點位于陰影中,否則不是.優(yōu)點:算法簡單缺點:每個光源需要一個陰影緩沖器55陰影生成(6/10)光線跟蹤從可見點P向光源發(fā)出測試光線若該光線在到達(dá)光源之前與其它物體相交則P點位于陰影區(qū)域中56陰影生成(7/10)陰影由兩部分組成本影(umbra)任何光線都照不到的區(qū)域呈現(xiàn)為全黑的輪廓分明的區(qū)域半影(penumbra)可接收到分布光源照射的部分光線的區(qū)域通常位于本影周圍,呈現(xiàn)為半明半暗的區(qū)域本半?yún)^(qū)影區(qū)影區(qū)影無光源57陰影生成(8/10)點光源只能產(chǎn)生本影位于有限距離內(nèi)的分布光源可同時產(chǎn)生本影和半影需要的陰影計算量大58陰影生成(9/10)產(chǎn)生的本影包括自身陰影面因物體自身遮擋而使光線照射不到的某些可見面假設(shè)視點在點光源位置,用背面剔除的方法求出投射陰影因不透明物體遮擋光線使場景中位于該物體后面的區(qū)域受不到光照射從光源向物體的所有可見面投射光線將這些面投影到場景中得到投影面將這些投影面與場景中其它平面求交線,可得陰影多邊形自身陰影投射陰影59陰影生成(10/10)陰影細(xì)節(jié)多邊形算法步驟在景物空間中,利用裁剪算法求出被光源直接照射的多邊形或其一部分將這些多邊形作為表面細(xì)節(jié)貼在物體表面上(二)蘇小紅哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院60第8章真實感圖形生成光照模型(1/6)IlluminationModel根據(jù)物理光學(xué)的有關(guān)定律計算景物表面上任意一點投向觀察者眼中的光亮度的大小和色彩組成的數(shù)學(xué)模型用來描述光照射到物體表面后發(fā)生的反射、折射和吸收等物理現(xiàn)象
61光照表示材質(zhì)和光源之間的相互作用,或光源與所繪制的幾何對象之間的相互作用著色處理計算光照,并由此決定像素顏色的過程光照模型(2/6)來自光源和周圍環(huán)境的入射光照在物體表面上時,可能被吸收——吸收的入射光能轉(zhuǎn)化為熱能反射透射62不僅取決于景物表面的表面特性還取決于入射光源的照明特性光照模型(3/6)表面特性景物表面的材質(zhì)反射系數(shù)——決定入射光中有多少光線被反射當(dāng)表面對不同波長的光具有不同的反射系數(shù)時,就會出現(xiàn)色彩當(dāng)表面有圖案紋理時,反射系數(shù)就會隨表面位置而變化透明性——決定有多少光線從物體后面透射過來對透明物體,其色彩是由透射光決定的反射光和透射光的光譜分布——決定了景物表面呈現(xiàn)的顏色反射光和透射光的強弱——決定了景物表面的明暗程度景物表面的朝向景物表面與光源的相對位置63光照模型(4/6)照明特性光源的性質(zhì)幾何性質(zhì):兩層含義點光源、線光源、面光源、體光源平行光、非平行光(聚光光源)色彩(光譜分布)光強分布方向64光照模型(4/6)點光源位于空間某個位置,從該位置均勻向周圍發(fā)射光線線光源和面光源在一條直線或平面上,均勻放置足夠數(shù)量的點光源,計算量大日光燈,手術(shù)室的無影燈65光照模型(4/6)平行光在有限范圍內(nèi),它的光強可認(rèn)為是不變的若點光源到物體距離遠(yuǎn)遠(yuǎn)大于物體本身的大小,則可認(rèn)為是平行光源太陽光聚光(Caustic)光源舞臺燈光,手電筒僅在錐體中發(fā)射光線α:斷角,聚光光源錐體角的一半,決定光源照射范圍β:偏心角,在照射范圍之外的光強為0n:聚光光源的聚光指數(shù)66中線βααOpenGL中使用這三個參數(shù)控制光的衰減光照模型(5/6)簡單光照模型基于經(jīng)驗只考慮光源直接照射在景物表面所產(chǎn)生的光照效果假定物體表面是理想光滑的
,均勻反射率高光顏色與材料無關(guān)
局部光照模型以實際物體表面的微平面理論為基礎(chǔ),反映表面的粗糙度對反射光強的影響根據(jù)材料的物理性質(zhì)決定高光顏色
整體光照模型考慮周圍環(huán)境對景物表面的影響不僅能模擬連續(xù)的明暗色調(diào)、鏡面高光、陰影還能模擬鏡面映像、光的折射、相鄰景物表面之間的色彩輝映等較為復(fù)雜精致的效果67光照模型(6/6)
簡單光照模型環(huán)境光模型Lambert漫反射模型
鏡面反射和Phong模型
68環(huán)境光模型(1/5)ambientlight也稱背景光,或泛光從周圍環(huán)境的各個方向投射來的光如墻壁、天空等沒有空間或方向上的特征均勻地照射在物體的各個不同的表面上等量地向各個方向反射分布光源精確模擬很耗時69環(huán)境光模型(2/5)近似模擬的環(huán)境光模型70場景中的環(huán)境光光強物體表面環(huán)境光的漫反射系數(shù)環(huán)境光模型(3/5)特點物體表面對環(huán)境光反射的強度與…無關(guān)入射光的入射方向觀察者的觀察方向物體表面的朝向僅與…有關(guān)環(huán)境光強度物體表面對環(huán)境光的反射系數(shù)(材質(zhì)屬性)71環(huán)境光模型(4/5)例子
=1.0,=0.4,=0.872環(huán)境光模型(5/5)缺點物體各個面具有同樣的亮度只能為景物表面產(chǎn)生一個平淡的明暗效果觀察者很難辨別景物各個面的層次不真實,不實用繪制三維場景時很少僅考慮環(huán)境光的作用通常至少要用一個點光源來照射物體在調(diào)試階段可節(jié)省不必要的明暗度計算調(diào)試變換、投影、求交、消隱程序73漫反射模型(1/4)diffusereflection可看成光穿過物體表面層被部分吸收后重新發(fā)射出來的光自然界中的絕大多數(shù)景物為理想漫反射體粗糙、無光澤表面,如紙張、石灰粉刷的白墻等74漫反射模型(2/4)Lambert余弦定律在點光源照射下的光的反射規(guī)律IdealDiffuseReflectors
漫反射光強度同入射光與物體表面法向之間夾角的余弦成正比
75點光源所發(fā)出的入射光的光強入射光與物體表面法向之間的夾角漫發(fā)射系數(shù)或漫反射率,取決于物體表面材質(zhì)的屬性景物表面在被照射點處的漫反射光的光強漫反射模型(3/4)76特點:對光線沿各個方向作同等光強的散射各點反射光的強度只與…有關(guān)點光源強度、入射角物體表面的反射系數(shù)物體各面的朝向而與…無關(guān)觀察者的觀察位置漫反射模型(4/4)將環(huán)境光與漫反射結(jié)合起來例子77鏡面反射模型(1/10)SpecularReflection是物體外表面對入射光的直接反射非漫反射體有光澤的表面,如光滑的塑料、擦亮的金屬等高光區(qū)域highlight物體表面越光滑,高光區(qū)越小,越亮78鏡面反射模型(2/10)理想的鏡面反射純鏡面入射光嚴(yán)格遵循光的反射定律單向地反射出去79
理想鏡面反射LNPRV鏡面反射模型(3/10)非理想鏡面反射一般光滑表面在微觀上物體表面面元是由許多朝向不同的微小平面組成其鏡面反射光分布于物體鏡面反射方向的周圍80LNPR粗糙表面的鏡面反射一般光滑表面鏡面反射LNPR
光滑表面的鏡面反射范圍較小粗糙的物體表面反射范圍較大鏡面反射模型(4/10)鏡面反射光特點空間分布具有一定方向性朝空間一定方向匯聚沿鏡面反射的主方向最強在該方向四周逐漸衰減形成一定的空間分布光強不僅取決于入射光和表面材料,還與觀察方向有關(guān)觀察者只有位于一定的方向上,才能看到當(dāng)視點位于鏡面反射方向附近時,鏡面反射光光強較強,反之較弱,甚至觀察不到具有與入射光相同的性質(zhì)當(dāng)白光照射在藍(lán)色物體上時,高光仍為白色,不是藍(lán)色81LNPR鏡面反射鏡面反射模型(5/10)1973年,PhongBuiTuong(博士論文)提出Phong鏡面反射模型簡稱Phong模型計算鏡面反射光光強的經(jīng)驗公式82鏡面反射模型(6/10)Phong模型采用余弦函數(shù)的冪次模擬一般光滑表面的鏡面反射光光強的空間分布83觀察者觀察到的鏡面反射方向上的鏡面反射光光強入反射光的光強物體表面的鏡面反射系數(shù),入射角和入射光波長的函數(shù)鏡面反射方向與視線方向的夾角稱為鏡面高光指數(shù)鏡面反射模型(7/10)84鏡面高光指數(shù)用于模擬鏡面反射光在空間的會聚程度由物體表面材質(zhì)的光滑程度決定鏡面反射模型(8/10)85鏡面高光指數(shù)較光滑的物體表面(如金屬、玻璃等)光強的空間分布較集中,高光范圍較小宜取較大的值(大于100或更大)粗糙的物體表面(如紙張、木材、粉筆等)光強的空間分布較分散,高光范圍較大宜取較小的值(小于或接近于1)鏡面反射模型(9/10)Phong光照明模型86為計算方便,R的計算,用H*N代替,鏡面高光分量可改寫成
漫反射光分量泛光鏡面高光分量LiNRiV
iθiθiPHi鏡面反射模型(10/10)真實感圖形學(xué)中提出的第一個有影響的光照明模型存在問題顯示出的物體(如塑料)沒有質(zhì)感環(huán)境光是常量,沒有考慮物體之間相互的反射光鏡面反射的顏色是光源顏色,與物體的材料無關(guān)鏡面反射的計算在入射角很大時會產(chǎn)生失真87采用多個光源采用m個光源的光照明方程產(chǎn)生的光線性疊加88透明模型透明物體如玻璃杯、花瓶、水不但會反射光,還會透射光可通過它看到它背后的物體簡單透明模型考慮折射的透明模型89簡單透明模型精確模擬折射現(xiàn)象需要大量計算,很費時簡單透明模型不考慮折射的影響假設(shè)各物體間的折射率不變折射角總是等于入射角90簡單透明模型簡單透明模型插值透明Newell和Sanche提出91不考慮折射的簡單的透明模型透明物體I1I2第一個物體表面的透明度0:表示完全透明1:表示不透明簡單透明模型簡單透明模型過濾透明92不考慮折射的簡單的透明模型透明物體I1I2越大顏色透射得越多與顏色相關(guān)的系數(shù)簡單透明模型若第二個物體表面也是透明面上述算法可以遞歸地進(jìn)行下去直到遇到一個不透明面或背景時為止好處加速了光強度的計算對較薄的多邊形表面也可生成合理的透明效果一般的隱面消除算法均適用于模擬不考慮折射的透明效果適應(yīng)性線性近似算法不適用于曲面物體因為在曲面的側(cè)影輪廓線上,材料的厚度減少了透明度如花瓶的輪廓線邊緣處93多邊形繪制方法均勻著色光滑著色Gouraud著色方法Phong著色方法插值著色方法存在的問題94多邊形繪制方法均勻著色方法任取多邊形上一點,利用光照明方程計算出它的顏色用這個顏色填充整個多邊形適合于如下情況光源在無窮遠(yuǎn)處視點在無窮遠(yuǎn)處多邊形是物體表面的精確表示95多邊形繪制方法均勻著色優(yōu)點每個多邊形只需計算一次光照明方程,速度快缺點相鄰多邊形顏色過渡不光滑用多邊形網(wǎng)格來逼近和表示曲面時,曲面光照效果就呈現(xiàn)不連續(xù)的光亮度跳躍變化,產(chǎn)生馬赫帶效應(yīng)96多邊形表示的明暗處理(1/7)解決方法用盡可能小的多邊形來逼近和表示曲面使光照效果中存在的不連續(xù)的光亮度跳躍變化小于人類視覺的分辨率光滑著色顏色插值,Gouraud明暗處理法矢量插值,Phong明暗處理97多邊形表示的明暗處理(2/7)
Gouraud明暗處理多邊形內(nèi)部各點顏色的獲得對頂點顏色雙線性插值
98亮度雙線性插值掃描線x231ypab4多邊形表示的明暗處理(3/7)
Gouraud明暗處理步驟
對多邊形網(wǎng)格中的每一個多邊形:
1)計算多邊形的單位法矢量;
2)計算多邊形頂點的單位法矢量;
3)利用光照模型計算頂點的顏色;
4)在掃描線消隱算法中對多邊形頂點顏色進(jìn)行雙線性插值獲得位于多邊形內(nèi)掃描線上各點的顏色99N1N4NvN3N2V計算頂點的法向量多邊形表示的明暗處理(3/7)
表面法向量的計算多邊形平面的法向量根據(jù)其平面方程的系數(shù)決定平面內(nèi)所有點的法向量是相同的多邊形平面在頂點處的法向量可取包圍該頂點的各多邊形平面法向量的平均值100模長單位化多邊形表示的明暗處理(3/7)表面法向量的計算多邊形平面方程未知,多邊形以頂點和棱邊存儲頂點處的法向量可取交于此頂點的各棱邊叉積的平均值NV﹦VV1
VV2﹢VV2
VV3﹢VV3
VV4﹢VV4
VV1需進(jìn)行模長單位化101優(yōu)點簡單易行,計算量小只需已知頂點的法向量多邊形表示的明暗處理(4/7)缺點只適用于簡單的漫反射光照模型不能正確模擬鏡面反射高光形狀用于動態(tài)顯示物體時物體表面明暗以不規(guī)則方式進(jìn)行變化,高光問題線性光強度插值引起的Mach-band效應(yīng)光亮度變化不連續(xù)的邊界處出現(xiàn)過亮或過暗的條紋公共頂點處顏色不連續(xù),頂點方向不具代表性102多邊形表示的明暗處理(5/7)
Phong明暗處理多邊形內(nèi)部各點法矢量的獲得對頂點法矢量雙線性插值103多邊形表示的明暗處理(6/7)Phong明暗處理步驟
1)計算多邊形的單位法矢量;
2)計算多邊形頂點的單位法矢量;
3)在掃描線消隱算法中對多邊形頂點法矢量進(jìn)行雙線性插值
獲得位于多邊形內(nèi)的掃描線上各點的法矢量;
4)利用光照模型計算各點的顏色104多邊形表示的明暗處理(7/7)優(yōu)點繪制的圖形比Gouraud方法更真實
缺點計算量遠(yuǎn)大于Gouraud方法105(三)蘇小紅哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院106第8章真實感圖形生成半色調(diào)技術(shù)問題:在硬件條件有限的情況下,如何產(chǎn)生更多的顏色?方法:半色調(diào)技術(shù)、顏色抖動107半色調(diào)技術(shù)(1/15)Halftone在光強等級范圍較小的輸出設(shè)備上輸出圖像將多灰度級圖像數(shù)據(jù)轉(zhuǎn)換成能反映其灰度變化的黑白二值圖像通過將多個像素單元組合起來表示一種強度值目的獲得較多的灰度等級數(shù)目提高圖像的視覺分辨率108半色調(diào)技術(shù)(2/15)原理基于生理現(xiàn)象當(dāng)我們觀察一個包含幾個像素的小區(qū)域時眼睛通過取整或?qū)⒓?xì)節(jié)取平均而得到一個總體的灰度效果輸出設(shè)備(打印機)利用這種視覺效果來再現(xiàn)多灰度級圖像半色調(diào)圖像應(yīng)用色染、紡織、彩色打印、印刷等領(lǐng)域109半色調(diào)技術(shù)(3/15)模式單元法halftonepatterns用矩形區(qū)域中像素的不同排列模式來代表不同的像素灰度等級用點的稀密程度來表現(xiàn)明暗110半色調(diào)技術(shù)(4/15)可顯示的灰度等級數(shù)目取決于矩形模式單元中所包含的像素數(shù)目系統(tǒng)能顯示的等級數(shù)目在二級灰度系統(tǒng)中,若每個單元中包含nn個像素,則可表示n2+1種灰度等級。
111二級灰度系統(tǒng)中表示5個灰度等級的2×2像素網(wǎng)格灰級0灰級1灰級2灰級3灰級4二級灰度系統(tǒng)中表示10個灰度等級的3×3像素網(wǎng)格灰級0灰級1灰級2灰級3灰級4灰級7灰級8灰級6灰級9灰級5半色調(diào)技術(shù)(5/15)設(shè)置像素模式的原則
從中心向外擴展不使用水平或垂直的點列避免分散、孤立
112不好的設(shè)置模式(a)(b)(c)(d)(e)半色調(diào)技術(shù)(6/15)缺點圖像視覺分辨率的改善以犧牲圖像的空間分辨率為代價只有在圖像分辨率低于輸出設(shè)備分辨率時,這種結(jié)果才是可以接受的
113半色調(diào)技術(shù)(7/15)抖動Dithering在不降低圖像空間分辨率的情況下提高圖像的視覺分辨率
兩類模式抖動(patterndithering)誤差擴散(errordiffusion)114半色調(diào)技術(shù)(8/15)模式抖動以固定模式的抖動噪音添加于像素之上以柔化其灰度運算在圖像中引入一個隨機誤差,在每一像素的灰度與所選閾值比較之前,將這一誤差加到該像素的灰度值上115半色調(diào)技術(shù)(9/15)有序抖動矩陣方法
Jarvis提出將誤差模式看成一個矩陣被稱為抖動矩陣抖動矩陣的構(gòu)造矩陣中的相鄰元素的值相差越大越好矩陣中每個元素的值只出現(xiàn)一次
116半色調(diào)技術(shù)(10/15)nn抖動矩陣再現(xiàn)n2個灰度等級遞歸生成117半色調(diào)技術(shù)(11/15)Jarvis抖動處理步驟把原位圖的個像素的灰度值變換到[0,n2]范圍內(nèi)將誤差模式以重復(fù)的棋盤格式加到圖像中將圖像中每個像素的灰度值I(x,y)與一個抖動矩陣中的相應(yīng)元素D(i,j)進(jìn)行比較以決定顯示的灰度值118i=(xmodn)+1;
j=(ymodn)+1;if(I(x,y)<D(i,j))pixel(x,y)=Black;elsepixel(x,y)=White;半色調(diào)技術(shù)(12/15)優(yōu)點速度快隨著n的增加,圖像不丟失它的空間分辨率缺點處理效果不好,贗象(artifact)119半色調(diào)技術(shù)(13/15)誤差擴散的原理從單個像素的角度來理解將一個給定像素的灰度值與顯示像素灰度值之間的誤差分散到當(dāng)前像素的右方或下方的像素中去
120半色調(diào)技術(shù)(14/15)Floyd-Steinbergfilter
121Floyd-Steinbergfilter的誤差擴散3/165/161/167/16xif(I(x,y)<T){pixel(x,y)=Black;error=I(x,y)
-Black;}else{pixel(x,y)=White;error=I(x,y)
-White;}只需一次掃描即可將全部像素點亮半色調(diào)技術(shù)(15/15)優(yōu)點處理的效果好,不會產(chǎn)生贗象缺點處理速度慢122(四)蘇小紅哈爾濱工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院123第8章真實感圖形生成表面紋理細(xì)節(jié)模擬簡單光照明模型的缺陷只能模擬光滑景物表面只考慮表面法向的變化假設(shè)表面反射系數(shù)為常數(shù)紋理是物體表面的細(xì)小結(jié)構(gòu)124表面紋理細(xì)節(jié)模擬紋理分類
紋理定義域二維紋理三維紋理
紋理的表現(xiàn)形式顏色紋理呈現(xiàn)在物體表面上的各種花紋、圖案和文字等幾何紋理基于景物表面微觀幾何形狀的表面紋理過程紋理表現(xiàn)各種規(guī)則或不規(guī)則的動態(tài)變化的自然景象125顏色紋理顏色紋理二維紋理映射(texturemapping)技術(shù)
定義方法
連續(xù)法——函數(shù)紋理用數(shù)學(xué)函數(shù)解析地表達(dá),函數(shù)的定義域就是紋理空間離散法——圖像紋理用各種數(shù)字化圖像來離散定義紋理空間坐標(biāo)系中表示光亮度值的一個矩形數(shù)組程序生成掃描輸入通過交互式系統(tǒng)繪制得到126顏色紋理顏色紋理實際上是一個二維數(shù)組,它的元素是一些顏色值紋理元素(textureelements)或紋理像素(texel)單個顏色值每個紋理像素在紋理空間中都有一個唯一的地址該地址可被認(rèn)為是一個列和行的值,分別由U和V來表示127顏色紋理棋盤方格紋理128顏色紋理粗布紋理129A為[0,1]上的隨機變量,p,q為頻率系數(shù)二維紋理映射二維紋理映射的基本原理確定景物表面上任一可見點P在紋理空間中的對應(yīng)位置(u,v)用(u,v)處所定義的紋理值或顏色值作為P點的反射系數(shù)或用(u,v)處所定義的紋理值或顏色值對反射系數(shù)調(diào)制達(dá)到對物體原來的表面亮度或顏色值進(jìn)行混合的效果按照光照模型計算出P點的亮度或顏色值130二維紋理映射當(dāng)物體表面是多邊形時直接給定多邊形頂點的紋理坐標(biāo)131紋理坐標(biāo)決定哪一個紋理單元分配給該頂點二維紋理映射當(dāng)物體表面是參數(shù)曲面時給定參數(shù)與紋理坐標(biāo)之間的關(guān)系132133基本問題就是如何定義紋理映射函數(shù)?從數(shù)學(xué)的觀點來看,映射M可用下式描述
(u,v)=F(x,y,z)(u,v)
TextureSpace
紋理空間中的點物體空間中的點二維紋理映射uv134參數(shù)曲面(x,y,z)
=F(u,v)
定義了二維參數(shù)空間到三維物體空間的映射關(guān)系當(dāng)將參數(shù)空間和紋理空間等同(兩者之間關(guān)系由一仿射變換確定)起來時,若F可逆,則紋理映射關(guān)系等價于參數(shù)曲面自身定義的逆映射
(u,v)=F-1(x,y,z)
對復(fù)雜的高次參數(shù)曲面,其逆映射一般無法解析表達(dá)!一般采用數(shù)值求解技術(shù)來離散求得二維紋理映射135例:
高為h,半徑為r的圓柱面可用下面的參數(shù)形式來表達(dá)
x=rcosθ
y=rsinθ
0≤θ≤2π,0≤ψ≤1
z=hψ
若通過下述線性變換將紋理空間[0,1]×[0,1]與參數(shù)空間[0,2π]×[0,1]等同起來
u=θ/2π
υ=ψ
則由該圓柱面的參數(shù)表達(dá)式,容易得到從景物空間到紋理空間的紋理映
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廈門市民政局補充非在編工作人員招聘備考題庫及答案詳解一套
- 2025年醫(yī)院醫(yī)保辦和信息科工作總結(jié)(四篇)
- 中材鋰膜有限公司招聘考試真題2024
- 2024年淮南市淮河能源控股集團(tuán)招聘考試真題
- pc板課程設(shè)計教程
- java火柴小游戲課程設(shè)計
- 2025湖南株洲市炎陵縣財政局、縣審計局公開招聘專業(yè)人才4人考試重點試題及答案解析
- 2025中信銀行誠聘駐點客戶經(jīng)理(國企可接受無經(jīng)驗)考試重點試題及答案解析
- 國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心2026年度專利審查員公開招聘備考題庫帶答案詳解
- 2025福建廈門市杏南中學(xué)產(chǎn)假頂崗教師招聘1人筆試重點題庫及答案解析
- 云南省昆明市呈貢區(qū)2024-2025學(xué)年九年級上學(xué)期期末學(xué)業(yè)水平檢測物理試題(含答案)
- 放療引起認(rèn)知功能障礙的機制以及干預(yù)和預(yù)防
- 粘豆包歇后語順口溜
- 《城鎮(zhèn)新建供水管道沖洗消毒技術(shù)規(guī)程 》
- 社區(qū)中心及衛(wèi)生院65歲及以上老年人健康體檢分析報告模板
- 病歷書寫基本規(guī)范課件
- 砼面板堆石壩混凝土面板無軌滑模施工技術(shù)專項方案設(shè)計模板
- 新海蘭褐飼養(yǎng)管理手冊
- 地下室抗浮錨桿工程施工方案
- 桿件的應(yīng)力與強度計算拉伸桿
- HGT-20519-2009-化工工藝設(shè)計施工圖內(nèi)容和深度統(tǒng)一規(guī)定
評論
0/150
提交評論