Windows 8 Directx 開發學習筆記(四)示例程序小結

VS2012的示例程序包括了最基本的DirectX流程,涉及許多知識,所以看完代碼之後還是感覺沒有頭緒,打算對整個過程再整理一下,方便進一步的學習。

正方體在空間中可以用它的8個頂點定義,而每個頂點可以包含除座標外的信息,如顏色。設置好屬性後,數據是以數組的形式存在內存中的。由於所有的數據都是浮點數,所有需要輸入佈局來控制讀取數據,如下圖。


使用輸入佈局能夠區分出各個頂點,把這些頂點輸入頂點着色器進行處理,相當於在DirectX的三維空間中繪製出8個頂點,如下圖:


雖然頂點能夠定義一個正方體,但是繪製正方體主要是繪製它的面。這8個頂點已經包括顏色信息,接下來需要利用這些信息繪製正方體的6個面。如果不進行說明的話,8個點可以繪製很多很多面,不一定能組成正方體,加上DirectX只能繪製三角形,所以需要一個索引數組對如何拼接進行說明。下圖說明的是拼接+x面和-y面。通過指定索引,DirectX會繪製左邊的正方體,而不是右邊的兩個交叉平面。


以上完成對虛擬三維空間中資源的定義,如何觀察空間並將看到的內容投影到屏幕上還有一段路要走。首先就是定義眼睛(或者攝像機)的位置同時設置觀察點和可視角度,模擬一個真實的眼睛,如下圖。


既然是眼睛,就應該有視力,在DirectX裏可以設置前後兩個參考面,夾在兩個面內的空間將會投影在屏幕上。最後還需要使用像素着色器進行處理,完成後這一幀圖像纔會真正顯示。


通過示例程序,對DirectX有些瞭解,接下來需要用實際的小功能來熟悉繪製圖像的原理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章