計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線_第1頁(yè)
計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線_第2頁(yè)
計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線_第3頁(yè)
計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線_第4頁(yè)
計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第七章圖形繪制管線(pipeline)對(duì)于一項(xiàng)復(fù)雜工程,使用管線結(jié)構(gòu)比使用非管線結(jié)構(gòu)可以得到更大的吞吐量。管線結(jié)構(gòu)的整體速度是由管線中最慢的那個(gè)階段決定的。圖形繪制使用的管線稱為圖形繪制管線。從概念上,圖形繪制管線可以粗略地分為3個(gè)階段,即:應(yīng)用程序階段、幾何階段、光柵階段。每個(gè)階段又可以進(jìn)一步劃分為幾個(gè)子階段,為了對(duì)子階段進(jìn)行加速,又可以對(duì)子階段進(jìn)行并行化處理。應(yīng)用程序幾何光柵圖形繪制管線計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第1頁(yè)!7.1應(yīng)用程序階段應(yīng)用程序階段是通過軟件實(shí)現(xiàn)的,開發(fā)者能夠?qū)υ撾A段進(jìn)行完全的控制,可以通過改變實(shí)現(xiàn)方式來改進(jìn)實(shí)際性能。這一階段要完成諸如建模、碰撞檢測(cè)、加速算法、動(dòng)畫、力反饋、人機(jī)交互,以及一些不在其它階段執(zhí)行的計(jì)算。在應(yīng)用程序階段末端,將需要繪制的幾何體輸入到繪制管線的下一階段。這些幾何體都是繪制圖元(如點(diǎn)、線、三角形等),最終需要在輸出設(shè)備上顯示出來。這就是應(yīng)用程序階段最重要的任務(wù)。對(duì)于其它階段,由于其全部或部分是建立在硬件基礎(chǔ)之上,因此要改變實(shí)現(xiàn)過程是比較困難的。但應(yīng)用程序階段可以改變幾何和光柵階段所消耗的時(shí)間,例如可以設(shè)法減少傳遞給幾何階段的三角片數(shù)量。由于應(yīng)用程序階段是基于軟件方式實(shí)現(xiàn)的,因此不能像幾何和光柵階段那樣分成若干個(gè)子階段。但是為了提高性能,可以使用并行處理器進(jìn)行加速。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第2頁(yè)!7.2幾何階段幾何階段主要負(fù)責(zé)大部分多邊形和頂點(diǎn)操作,執(zhí)行的是計(jì)算量非常高的任務(wù),可以將這個(gè)階段進(jìn)一步劃分為幾個(gè)功能階段。

模型和視點(diǎn)變換光照和著色投影裁減屏幕映射計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第3頁(yè)!7.2.1幾個(gè)坐標(biāo)系和齊次坐標(biāo)模型坐標(biāo)系:每個(gè)物體(模型)可以有自己的坐標(biāo)系,這個(gè)坐標(biāo)系稱為模型坐標(biāo)。它是在建模時(shí)確定的。世界坐標(biāo)系:為了確定物體在場(chǎng)景中的比例、位置和朝向,需要為場(chǎng)景中的物體建立一個(gè)公共的坐標(biāo)系,這個(gè)坐標(biāo)系稱為世界坐標(biāo)系。視點(diǎn)坐標(biāo)系:固定在觀察者的雙眼正中,X軸的方向向右、Y軸的方向向上、Z軸的負(fù)方向與視線同向。又稱為相機(jī)坐標(biāo)系。規(guī)范化坐標(biāo)系:(左手系)x∈[-1,1],y∈[-1,1],z∈[-1,1]。窗口坐標(biāo)系:(左手系)x∈[0,winx-1],y∈[0,winy-1],z∈[0,1]其中:winx、winy分別為窗口的寬和高。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第4頁(yè)!7.2.2模型與視點(diǎn)變換在圖形顯示過程中,模型通常需要變換到若干不同的空間(坐標(biāo)系統(tǒng))中。(1)模型變換每個(gè)模型可以和一個(gè)模型變換相聯(lián)系,這樣就可以對(duì)它進(jìn)行定位和定向。同一個(gè)模型還可以和幾種不同的模型變換聯(lián)系在一起。就是同一個(gè)模型有多個(gè)副本,在場(chǎng)景中具有不同的位置、方向和大小,而不需要對(duì)基本幾何體進(jìn)行復(fù)制。起初,模型處于自身所在的模型空間中,可以認(rèn)為它根本沒有進(jìn)行任何變換。模型變換的對(duì)象是模型的頂點(diǎn)和法線。所有模型經(jīng)過模型變換從自己的模型坐標(biāo)系變換到公共的世界坐標(biāo)系中。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第5頁(yè)!(3)變換的實(shí)現(xiàn)方式所有的模型變換和視點(diǎn)變換都用4×4的矩陣來實(shí)現(xiàn)。處于效率方面的考慮,可以在進(jìn)行模型變換之前,將所有的變換矩陣(包括視點(diǎn)和模型變換)級(jí)聯(lián)起來,彼此相乘,形成單一矩陣。在這種情況下,模型直接變換到了相機(jī)坐標(biāo)系(或視點(diǎn)坐標(biāo)系)。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第6頁(yè)!(4)常用變換③放大:④剪切:x、y、z三個(gè)方向分別放大Sx、Sy、Sz倍θABCD沿x軸方向的剪切變換,剪切程度為s=tgθ計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第7頁(yè)!續(xù)前頁(yè)對(duì)于受光照影響的模型來說,可以用光照方程來計(jì)算模型上每個(gè)頂點(diǎn)的顏色,這個(gè)顏色近似模擬了光線與表面之間的實(shí)際作用。物體表面每個(gè)頂點(diǎn)的顏色由光源位置及性質(zhì)、頂點(diǎn)位置和法線、頂點(diǎn)所在的材料性質(zhì)來計(jì)算。模型在圖形上通常用三角形表示,有了頂點(diǎn)的顏色就可以通過插值繪制出顏色漸變的三角形。通常,光照計(jì)算是在世界坐標(biāo)系中進(jìn)行的,光源也在世界坐標(biāo)系中表示。但是,如果對(duì)光源及參與光照計(jì)算的所有實(shí)體都進(jìn)行了視點(diǎn)變換,在相機(jī)坐標(biāo)系中會(huì)得到同樣的關(guān)照效果,因?yàn)檫@時(shí)光源與模型之間的相對(duì)位置仍然保持不變。注意相機(jī)位置與光照計(jì)算無關(guān)。OpenGL的光照計(jì)算在視點(diǎn)坐標(biāo)系中進(jìn)行。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第8頁(yè)!視景體:即可見空間范圍。只有在視景體中的物體才可能出現(xiàn)在屏幕上。平行投影:平行投影的視景體是一個(gè)長(zhǎng)方體盒。其變換矩陣為:7.2.4投影計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第9頁(yè)!OpenGL中的投影:OpenGL并沒有直接將物體從三維投影到二維。不管是平行投影還是透視投影,OpenGL利用投影變換矩陣將其對(duì)應(yīng)的視景體變換為一個(gè)規(guī)范的立方體(x∈[-1,1],y∈[-1,1],z∈[-1,1]),這個(gè)立方體是左手系,極大地簡(jiǎn)化了后期的裁剪和消隱。對(duì)平行投影來說,由于是將長(zhǎng)方體變換為規(guī)范立方體,所以平行投影的特點(diǎn)是:幾何體投影的大小不受與視點(diǎn)距離的影響,同樣大小的物體其投影大小也相同,因此可以用來制作建筑藍(lán)圖。對(duì)透視投影來說,由于是將前小后大的四棱臺(tái)變換為規(guī)范立方體,所以透視投影的特點(diǎn)是:近處的物體被放大、遠(yuǎn)處的物體被變小,得到逼真的視覺效果。7.2.4投影計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第10頁(yè)!只有通過裁減階段的圖元,才能進(jìn)入屏幕映射階段。在這個(gè)階段,通過簡(jiǎn)單的平移和縮放,圖元頂點(diǎn)的坐標(biāo)由規(guī)范化坐標(biāo)系(x∈[-1,1],y∈[-1,1],z∈[-1,1])變換到窗口坐標(biāo)系(x∈[0,winx-1],y∈[0,winy-1],z∈[0,1]),至此完成整個(gè)流水線的幾何階段。準(zhǔn)備進(jìn)入下一個(gè)大階段:光柵階段。7.2.6屏幕映射計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第11頁(yè)!7.3.1圖形的光柵化光柵化結(jié)果保存在顏色和深度位面中(通過檢測(cè)時(shí)):顏色用于顯示圖形,深度值用于消隱。

以四邊形的光柵化為例:在XY平面上,通過從多邊形最低點(diǎn)到最高點(diǎn)之間的水平掃描,完成對(duì)多邊形的掃描轉(zhuǎn)換。對(duì)每條掃描線,多邊形的掃描轉(zhuǎn)換分為四個(gè)步驟:求交、排序、配對(duì)、著色。XY計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第12頁(yè)!7.3.3顏色位面顏色位面就是屏幕的顯示內(nèi)容。為了避免觀察者看到光柵化過程,圖形系統(tǒng)一般都使用了雙緩沖機(jī)制:即提供兩組顏色位面,分別稱為前緩沖和后緩沖。前緩沖處于顯示狀態(tài),即屏幕看到的內(nèi)容;后緩沖用于在非顯示狀態(tài)下進(jìn)行光柵化。一旦后緩沖繪制完畢,則切換前后緩沖。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第13頁(yè)!7.3.5其它位面除去顏色緩沖和深度緩沖外,還可以使用一些其它的緩沖器來產(chǎn)生一些圖像的不同組合,例如:alpha緩沖器可以為每個(gè)象素存儲(chǔ)一個(gè)的不透明度值;模板緩沖器的內(nèi)容可以用來控制顏色緩沖器和Z緩沖器的繪制,而繪圖函數(shù)可以用不同模式將圖元繪制到模板緩沖器中。在產(chǎn)生特殊效果方面,模板緩沖器是一個(gè)強(qiáng)大的工具;累加緩沖器可以用一組不同的方式對(duì)繪制的多幅圖像進(jìn)行累積,能夠產(chǎn)生反走樣、運(yùn)動(dòng)模糊、深度場(chǎng)和軟陰影等效果。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第14頁(yè)!齊次坐標(biāo):

齊次坐標(biāo)(HomogeneousCoordinate)是比普通坐標(biāo)高一維的坐標(biāo),與普通坐標(biāo)可以相互轉(zhuǎn)換:從普通坐標(biāo)轉(zhuǎn)換為齊次坐標(biāo):(x,y,z)→(x,y,z,1)從齊次坐標(biāo)轉(zhuǎn)換為普通坐標(biāo):

(x,y,z,w)→(x/w,y/w,z/w)引入齊次坐標(biāo)后帶來了諸多便利,主要有:可以區(qū)分坐標(biāo)和方向:(x,y,z,1):坐標(biāo)(x,y,z,0):方向規(guī)范化的坐標(biāo)變換:OpenGL中的所有變換都可以用4×4矩陣乘法表示,例如:平移和透視投影。這是普通坐標(biāo)所做不到的。7.2.1幾個(gè)坐標(biāo)系和齊次坐標(biāo)計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第15頁(yè)!實(shí)際的繪制只對(duì)相機(jī)(或視點(diǎn))可以看到的模型進(jìn)行。為了便于投影和裁減,需要將原來在世界坐標(biāo)系中表示的物體變換到相機(jī)坐標(biāo)系中,這是通過視點(diǎn)變換來實(shí)現(xiàn)的。(2)視點(diǎn)變換計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第16頁(yè)!(4)常用變換繞x軸旋轉(zhuǎn)θ角繞y軸旋轉(zhuǎn)θ角繞z軸旋轉(zhuǎn)θ角②平移:①旋轉(zhuǎn):平移量為Δx,Δy,Δz計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第17頁(yè)!7.2.3光照和著色幾何模型可以有與其每個(gè)頂點(diǎn)相關(guān)聯(lián)的顏色(或材質(zhì))和覆蓋其上的紋理。單獨(dú)使用光照或紋理(特別是紋理)可以在物體表面產(chǎn)生不錯(cuò)三維效果;但如果單純使用頂點(diǎn)顏色,效果會(huì)很差。左圖只有紋理右圖使用紋理加光源計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第18頁(yè)!7.2.4投影目的:是將三維空間中的物體顯示到二維平面。有兩種投影方式:平行投影(正投影)和透視投影。左邊為正(或平行)投影,右邊為透視投影計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第19頁(yè)!透視投影:透視投影的視景體是一個(gè)四棱臺(tái),即一個(gè)以矩形為底面的被截金字塔。棱臺(tái)的小頂面靠近視點(diǎn),棱臺(tái)的大底面遠(yuǎn)離視點(diǎn)。其變換矩陣為:7.2.4投影計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第20頁(yè)!7.2.5裁減當(dāng)一個(gè)圖元完全位于一個(gè)視體內(nèi)部的時(shí)候,那么它可以直接進(jìn)入下一個(gè)階段;當(dāng)一個(gè)圖元完全位于視體之外時(shí),不需要繪制,不用進(jìn)入下一個(gè)階段。但需要對(duì)哪些部分位于視體之內(nèi)的圖元進(jìn)行裁減處理,被裁減圖元將包含新的頂點(diǎn)。投影變換之后的圖元只需要針對(duì)規(guī)范立方體進(jìn)行裁減,這使裁減算法大大簡(jiǎn)化。有些系統(tǒng)還允許用戶在此基礎(chǔ)之上,自定義數(shù)個(gè)裁減平面。計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第21頁(yè)!幾何階段傳給光柵階段的數(shù)據(jù)仍然是幾何圖形(只不過有了顏色或紋理坐標(biāo)等屬性),光柵階段的任務(wù)就是要利用這些圖元數(shù)據(jù)為每個(gè)象素(pixel-屏幕上的點(diǎn))決定正確的配色,以便正確地繪制整個(gè)圖像。這個(gè)過程稱為光柵化或者掃描轉(zhuǎn)換。對(duì)高性能圖形系統(tǒng)來說,光柵化階段必須在硬件中完成。光柵化的結(jié)果是將視景體內(nèi)的幾何場(chǎng)景轉(zhuǎn)化為圖像。7.3光柵階段計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第22頁(yè)!位面:屏幕空間對(duì)應(yīng)著同樣大小一組位面,位面的數(shù)目決定了每個(gè)象素的變化能力。其中最基本的是顏色位面和深度位面。緩沖區(qū):常稱一組位面為緩沖區(qū)(buffer)。幀緩沖區(qū)(framebuffer)通常指系統(tǒng)包含的所有位面,它又細(xì)分為各種不同功能的緩沖區(qū)。顏色緩沖區(qū)示意圖7.3.2位面計(jì)算機(jī)圖形學(xué)第七章圖形繪制管線共25頁(yè),您現(xiàn)在瀏覽的是第23頁(yè)!7.3.4深度位面深度位面又稱為Z緩沖器,它為每個(gè)象素存貯著一個(gè)z值,這個(gè)z值是從相機(jī)到最近圖元之間的距離。當(dāng)將一個(gè)圖元繪制為相應(yīng)的象素時(shí),需要計(jì)算象素位置處圖元的z值并與同一象素Z緩沖器內(nèi)容進(jìn)行比較。如果新得到的z值遠(yuǎn)遠(yuǎn)小于Z緩沖器中的z值,那么說明即將繪制的圖元與相機(jī)的距離比原來距離相機(jī)較近的圖元還要近。這樣,象素的z值和顏色就由當(dāng)前圖元對(duì)應(yīng)的z值和顏色進(jìn)行更新。如果計(jì)算出來的z值遠(yuǎn)遠(yuǎn)大于Z緩沖器中的z值,那么顏色緩沖器和Z緩沖器就不變。Z緩沖器算法非常簡(jiǎn)單,圖元的繪制順序可以是任意

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論