九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

清華大學(xué)DirectX游戲編程第3章(全20章)

上傳人:fgh****35 文檔編號(hào):247454526 上傳時(shí)間:2024-10-18 格式:PPT 頁(yè)數(shù):26 大小:1.13MB
收藏 版權(quán)申訴 舉報(bào) 下載
清華大學(xué)DirectX游戲編程第3章(全20章)_第1頁(yè)
第1頁(yè) / 共26頁(yè)
清華大學(xué)DirectX游戲編程第3章(全20章)_第2頁(yè)
第2頁(yè) / 共26頁(yè)
清華大學(xué)DirectX游戲編程第3章(全20章)_第3頁(yè)
第3頁(yè) / 共26頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《清華大學(xué)DirectX游戲編程第3章(全20章)》由會(huì)員分享,可在線閱讀,更多相關(guān)《清華大學(xué)DirectX游戲編程第3章(全20章)(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí)二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第,3,章 渲染管道,本章的主題是渲染管道。渲染管道主要用于創(chuàng)建一個(gè)二維圖像,該二維圖像是通過在指定位置設(shè)置的虛擬攝像機(jī)可以觀察到的三維世界中物體的影像。,主要目標(biāo):,學(xué)習(xí)怎樣在,Direct3D,中描述三維物體。,學(xué)習(xí)怎樣設(shè)置虛擬攝像機(jī)。,理解渲染管道,利用幾何方法描述三維場(chǎng)景的步驟以及怎樣獲得用于描述三維場(chǎng)景的二維圖像。,2,3.1,描述的模型,一個(gè)場(chǎng)景是由物體或者模型所組成的。物體可以通過三角形網(wǎng)格進(jìn)行近似的描述,如圖,3.2,所示。,網(wǎng)格中的三角形是物體的基本

2、組成部分。,一個(gè)多邊形的兩條邊的相交點(diǎn)是多邊形的頂點(diǎn),可以通過指定三角形的三個(gè)頂點(diǎn)來描述三角形,(,見圖,3.3),。描述一個(gè)物體的時(shí)候,只需要指定構(gòu)成物體的那些三角形。,3,3.1.1,頂點(diǎn)格式,在,Direct3D,中,頂點(diǎn)可以擁有顏色屬性以及法線向量屬性,創(chuàng)建一個(gè)自定義的頂點(diǎn)格式,首先需要?jiǎng)?chuàng)建一個(gè)頂點(diǎn)數(shù)據(jù)結(jié)構(gòu),用于保存頂點(diǎn)數(shù)據(jù)。,例如,下面這段代碼中定義了兩種不同的頂點(diǎn)格式,一種頂點(diǎn)格式保存了位置和顏色信息,另一種頂點(diǎn)格式保存位置、法向量以及紋理坐標(biāo)信息:,參見教材,P59,4,3.1.1,頂點(diǎn)格式,定義完頂點(diǎn)結(jié)構(gòu)后,需要使用靈活頂點(diǎn)格式,(FVF),標(biāo)志來描述頂點(diǎn)的組成格式。例如對(duì)于前

3、面定義的頂點(diǎn)結(jié)構(gòu)可以通過如下的靈活頂點(diǎn)格式進(jìn)行描述。,(1),要描述包含位置屬性和散射顏色屬性的頂點(diǎn)結(jié)構(gòu)時(shí),靈活頂點(diǎn)格式標(biāo)志為:,#define FVF_COLOR (D3DFVF_XYZ | D3DFVF_DIFFUSE),(2),描述包含位置屬性、法向量屬性以及紋理坐標(biāo)屬性的頂點(diǎn)結(jié)構(gòu)時(shí),靈活頂點(diǎn)格式標(biāo)志為:,#define FVF_NORMAL_TEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1),5,3.1.2,三角形,三角形是構(gòu)成三維模型的基本元素。通過創(chuàng)建三角形的列表來描述物體的形狀和輪廓來構(gòu)建一個(gè)物體。,三角形列表中包含了每個(gè)需要渲染的三角形

4、的數(shù)據(jù)。,例如,如果需要構(gòu)建一個(gè)矩形,可以將矩形分成兩個(gè)三角形,并且指定所有三角形的頂點(diǎn),(,見圖,3.4),:,Vertex rect6 = v0, v1, v2, /,三角形,0,v0, v2, v3; /,三角形,1,6,3.1.3,索引,通常組成三維物體的三角形都會(huì)使用許多相同的頂點(diǎn),如圖,3.4,中的矩形所示。,如在圖,3.5,中,該立方體有,8,個(gè)獨(dú)立頂點(diǎn),但是其中有許多頂點(diǎn)將在構(gòu)建立方體的不同三角形中被重復(fù)使用。,7,3.1.3,索引,索引的工作原理是:在創(chuàng)建一個(gè)頂點(diǎn)列表的同時(shí)創(chuàng)建一個(gè)索引列表。頂點(diǎn)列表中存儲(chǔ)了所有獨(dú)立頂點(diǎn)的數(shù)據(jù),索引列表中存儲(chǔ)所有三角形的頂點(diǎn)對(duì)應(yīng)獨(dú)立頂點(diǎn)數(shù)據(jù)在頂

5、點(diǎn)列表中的索引。,在索引列表中通過不同的索引來定義頂點(diǎn)如何組合以組成三角形:,WORD indexList6 = 0, 1, 2, /,三角形,0,0, 2, 3; /,三角形,1,8,3.2,虛擬攝像機(jī),圖,3.6,展示了空間中的攝像機(jī)以及攝像機(jī)的拍攝范圍。,攝像機(jī)可見的體積范圍是一個(gè)平截臺(tái)體,由視角范圍、近平面和遠(yuǎn)平面來決定。,投影窗口是個(gè)二維的區(qū)域,平截臺(tái)體內(nèi)的三維幾何體都將投影到這個(gè)二維窗口上,從而生成一個(gè)代表三維世界的二維圖像。投影窗口被定義在最小值為,(-1,,,-1),到最大值,(1,,,1),范圍之間,這一點(diǎn)是非常重要的。,9,3.3,渲 染 管 道,圖,3.7,提供了對(duì)渲染管

6、道的簡(jiǎn)單描述,渲染管道中的很多步驟中,都要將幾何物體從一個(gè)坐標(biāo)系中變換到另一個(gè)坐標(biāo)系中去。這些變換都通過矩陣來完成。,例如,在圖,3.7,中,如果需要設(shè)置一個(gè)從本地空間向世界空間的變換,可以進(jìn)行如下設(shè)置:,Device-SetTransform(D3DTS_WORLD, &,worldMatrix,);,10,3.3.1,本地空間,本地空間,(,或者稱為模型空間,),指定義組成物體的三角形列表時(shí)所使用的坐標(biāo)系統(tǒng)。本地空間在簡(jiǎn)化模型處理工作上是相當(dāng)有用的。,在模型的本地空間中創(chuàng)建模型比在世界空間中創(chuàng)建模型要簡(jiǎn)單些。,比如,本地空間中創(chuàng)建物體時(shí),不需要考慮物體的位置、大小以及與世界空間中其他物體的

7、關(guān)系。,11,3.3.2,世界空間,將本地空間的物體變換到世界空間需要進(jìn)行的一系列變換,這被稱為世界變換,這些變換包括平移操作、旋轉(zhuǎn)操作以及縮放操作,分別用于設(shè)置模型在世界坐標(biāo)系中的位置、方向以及大小。,世界變換完成世界空間中所有物體位置,包括大小、方向,以及相互之間關(guān)系的設(shè)置。,世界變換用矩陣來表示,在,Direct3D,中用,IDirect3DDevice9:SetTransform,方法來設(shè)置世界變換矩陣,調(diào)用,SetTransform,方法時(shí)需要設(shè)置參數(shù),1,的變換類型為,D3DTS_WORLD,。,12,3.3.2,世界空間,對(duì)于本地坐標(biāo)系和世界坐標(biāo)系概念的理解,可進(jìn)一步參考圖,3.

8、8,、,3.9,。,13,3.3.3,視圖空間,在世界空間中,幾何物體和攝像機(jī)都是相對(duì)于世界坐標(biāo)系來定義的,如圖,3.10,所示。,14,3.3.3,視圖空間,視圖空間變換矩陣可以通過以下的,D3DX,函數(shù)來計(jì)算:,D3DXMATRIX* D3DXMatrixLookAtLH(,D3DXMATRIX *,pOut, /,指向視圖矩陣的指針,CONST D3DXVECTOR3 *,pEye, /,攝像機(jī)在世界坐標(biāo)系中的位置,CONST D3DXVECTOR3 *,pAt, /,攝像機(jī)的觀察點(diǎn),CONST D3DXVECTOR3 *,pUp,/,攝像機(jī)的向上向量,);,15,3.3.4,背面裁剪,

9、圖,3.11,展示了視圖空間中的一個(gè)物體,組成物體的多邊形的前表面都有一個(gè)箭頭。前表面面對(duì)著攝像機(jī)的多邊形叫做前向多邊形,前表面背向攝像機(jī)的表面叫做背向多邊形。,圖,3.12,展示了背面裁剪后的同一個(gè)物體。但是從攝像機(jī)角度來看,渲染出來的還是相同的場(chǎng)景,因?yàn)樵诟鞣N情況下都是看不見后表面的。,16,3.3.4,背面裁剪,默認(rèn)情況下,,Direct3D,定義頂點(diǎn)按照順時(shí)針方式排列,(,在視圖空間中,),的三角形為前向多邊形,逆時(shí)針排列,(,在視圖空間中,),的作為背向多邊形。,如果因?yàn)槟承┰蛐枰皇褂媚J(rèn)的裁剪方法,就可以通過改變,D3DRS_CULLMODE,渲染狀態(tài)來改變裁剪方法:,Devi

10、ce-SetRenderState(D3DRS_CULLMODE, Value);,這里的參數(shù),Value,可以為以下值:,D3DCULL_NONE,不進(jìn)行背面裁剪。,D3DCULL_CW,裁剪頂點(diǎn)按照順時(shí)針描述的三角形。,D3DCULL_CCW,裁剪頂點(diǎn)按照逆時(shí)針描述的三角形。,17,3.3.5,光照,光源是在世界空間中定義的,但是經(jīng)過視圖空間變換后,光源就變換到視圖空間中。在視圖空間中,光源可以用來照亮場(chǎng)景中的物體,這樣場(chǎng)景看起來就更加真實(shí)。,如何設(shè)置固定渲染管道的光照將在后面講述。,18,3.3.6,裁剪,需要剔除處于可視范圍以外的物體,這種操作稱為裁剪。一個(gè)三角形相對(duì)于表示可視范圍的平

11、截臺(tái)體可能具有,3,種不同的位置:,完全在可視范圍內(nèi),完全在可視范圍外,部分處于可視范圍內(nèi),(,部分處于可視范圍外,19,3.3.6,裁剪,圖,3.13,展示了這,3,種情況。,20,3.3.7,投影,在視圖空間中,要使用二維的形式來描述三維場(chǎng)景,將,n,維變換為,n-1,維的過程被稱為投影。,圖,3.14,中展示了將三維空間的一個(gè)點(diǎn)透視投影到投影窗口中的情形。,21,3.3.7,投影變換定義了可見范圍,(,平截臺(tái)體,),并且負(fù)責(zé)把可視范圍中的幾何物體投影到投影窗口中。,在,Direct3D,中使用下面的函數(shù),就可以得到一個(gè)使用平截臺(tái)體進(jìn)行描述的投影矩陣,(,參考圖,3.15),:,22,3.

12、3.8,視口變換,視口變換負(fù)責(zé)將物體從投影窗口坐標(biāo)系變換到屏幕上的矩形區(qū)域,這個(gè)矩形就是視口。,圖,3.16,展示了一個(gè)視口矩形。,23,3.3.8,視口變換,在,Direct3D,中,使用,D3DVIEWPORT9,結(jié)構(gòu)來描述視口,該結(jié)構(gòu)的定義如下:,typedef,struct,_D3DVIEWPORT9 ,DWORD X;,DWORD Y;,DWORD Width;,DWORD Height;,DWORD,MinZ,;,DWORD,MaxZ,;, D3DVIEWPORT9;,24,3.3.9,光柵化,光柵化所做的工作就是計(jì)算每個(gè)獨(dú)立像素點(diǎn)的顏色值,(,見圖,3.17),。,25,3.4,小 結(jié),三維物體使用三角形網(wǎng)格進(jìn)行描述,三角形網(wǎng)格是一個(gè)三角形的列表,這些三角形組成一個(gè)與原來物體形狀輪廓相似的三維圖形。,虛擬攝像機(jī)的可視范圍被設(shè)置為一個(gè)平截臺(tái)體,平截臺(tái)體的范圍就是攝像機(jī)可視范圍。,三維物體在本地坐標(biāo)系中定義,在進(jìn)行變換時(shí),幾何物體首先被變換到一個(gè)世界空間中,為了方便進(jìn)行投影、裁剪以及其他操作,物體將被變換到視圖空間中,視圖空間中攝像機(jī)處于坐標(biāo)系的原點(diǎn),觀察方向?yàn)?Z,軸的正方向。,最后,視口變換將幾何物體從投影窗口變換到視口中。最后通過光柵化,計(jì)算所有獨(dú)立像素點(diǎn)的顏色值,得到一張描述三維世界的二維圖片。,26,

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!