頂點(diǎn)坐標(biāo)變換(7) 摘要:
為了讓物體運(yùn)動(dòng)起來(lái),需要不斷改變相應(yīng)的世界矩陣,而投影矩陣和觀察矩陣通常不變,特別是投影矩陣在設(shè)置好之后基本上不需要重新設(shè)置。
在默認(rèn)情況下,對(duì)于窗口顯示模式的應(yīng)用程序,視口的大小就是當(dāng)前窗口的客戶區(qū)的大小,對(duì)于全屏模式的應(yīng)用程序,視口的大小就是屏幕的分辨率。除非特殊需要,絕大多數(shù)程序都采用這一默認(rèn)設(shè)置,所以在以后的示例程序中都將略過(guò)視口設(shè)置,而采用其默認(rèn)設(shè)置。
頂點(diǎn)坐標(biāo)變換(6) 摘要:
視區(qū)(視口)變換是Direct3D頂點(diǎn)變換流水線的最后一步,它通過(guò)定義視區(qū)信息(屏幕顯示區(qū)域的實(shí)際寬和高等參數(shù)),完成頂點(diǎn)裁剪以及將頂點(diǎn)坐標(biāo)從投影坐標(biāo)變換為最終顯示的以像素為單位的屏幕坐標(biāo)等操作。裁剪過(guò)程保證不渲染完全在觀察平截面以外的對(duì)象,還確保對(duì)于與觀察平截面相交的對(duì)象,可以如下方式進(jìn)行渲染:即在視口指定范圍以外的部分不繪制像素。
頂點(diǎn)坐標(biāo)變換(5) 摘要:
將攝影空間中的三維物體投影到二維膠片上,也就是Direct3D中的屏幕,這種三維到二維的變換過(guò)程就是投影變換,即從取景空間到攝影空間的變換。設(shè)三維物體在觀察空間中的坐標(biāo)為Pview,投影矩陣為Mproj,則頂點(diǎn)在投影空間中的坐標(biāo)為:
Pproj = Pview * Mproj
頂點(diǎn)坐標(biāo)變換(4) 摘要:
取景變換(也稱(chēng)觀察變換)是在世界空間下架設(shè)一個(gè)攝像機(jī),把各個(gè)頂點(diǎn)坐標(biāo)從世界空間變換到攝影空間(觀察空間)。在攝影空間里,攝像機(jī)或者說(shuō)觀察點(diǎn)位于原點(diǎn),向著z軸正方向。因?yàn)镈irect3D采用左手坐標(biāo)系,所以z軸正方向指向屏幕里面。設(shè)三維頂點(diǎn)在世界坐標(biāo)系的坐標(biāo)為Pworld,在攝影空間內(nèi)的坐標(biāo)為Pview,則:
Pview = Pworld * Mview
頂點(diǎn)坐標(biāo)變換(3) 摘要:
世界變換就是將物體頂點(diǎn)坐標(biāo)從模型空間轉(zhuǎn)換到世界空間。在模型空間里,頂點(diǎn)位置坐標(biāo)依據(jù)模型的本地坐標(biāo)系的原點(diǎn)而定,在世界空間里,所有模型的頂點(diǎn)共用一個(gè)原點(diǎn),即世界坐標(biāo)系原點(diǎn)。事實(shí)上,世界變換就是將一個(gè)模型從本地空間重新定位到世界空間內(nèi)。從模型空間到世界空間的轉(zhuǎn)換實(shí)際上就是對(duì)模型進(jìn)行平移、旋轉(zhuǎn)、縮放以及它們的任意組合變換。
頂點(diǎn)坐標(biāo)變換(2) 摘要:
在Direct3D中,頂點(diǎn)坐標(biāo)變換通常是借助于矩陣實(shí)現(xiàn)的,因此下面首先介紹在Direct3D中提供的各種矩陣類(lèi)型和相關(guān)的矩陣運(yùn)算函數(shù)。
頂點(diǎn)坐標(biāo)變換(1) 摘要:
空間中的物體需要使用三維坐標(biāo)來(lái)描述,而顯示器是一個(gè)二維的表面,所以在屏幕上渲染一個(gè)三維場(chǎng)景時(shí),首先需要將描述空間物體的三維坐標(biāo)變換為二維坐標(biāo)(世界坐標(biāo)到屏幕坐標(biāo)),這在Direct3D中稱(chēng)為頂點(diǎn)坐標(biāo)變換。頂點(diǎn)坐標(biāo)變換通常通過(guò)矩陣來(lái)完成。可以把頂點(diǎn)坐標(biāo)變換想象成攝像過(guò)程,三維世界的景物通過(guò)攝像機(jī)的拍攝顯示在二維的相片上,所不同的是把相片換成了屏幕。