DX中有6種圖元:
頂點集合,線段集合,線段條帶,三角形集合,三角形條帶,三角扇形。
在渲染時一般采用三角形來構成多邊形,三角形三個頂點一定共面,共面的時候,渲染較快。
(該圖檔來自百度)
我們在繪制的時候,使用該函數繪制圖元,第一個參數為圖元的類型,即上圖中的幾種類型:
點列集合 D3DPT_POINTLIST 一組點的集合
線列集合 D3DPT_LINELIST 一組線段的集合
線帶集合 D3DPT_LINESTRIP 首尾相連的線段的集合
三角形列 D3DPT_TRIANGLELIST 一組三角形的集合
三角形帶 D3DPT_TRIANGLESTRIP 首尾相連的三角形,有兩個頂點重合
三角形扇 D3DPT_TRIANGLEFAN 組成扇形的一組三角形
//繪制圖元
g_pDevice->DrawPrimitive(
D3DPT_LINELIST, //圖元類型
0, //起始點編号
1 //圖元數量
);
這裡,我用了兩個頂點,繪制了一個從0号頂點開始到1号頂點的一個圖元,是一條直線:
其他的圖元繪制也類似,不過要注意的是繪制的順序,按照給出的頂點順序來繪制的。根據各種圖元,繪制相應類型的圖。
三個點繪制兩個圖元,首尾相連,線帶。
調整了一下,本想畫個圓,不過貌似坐标沒搞對,于是出了個這樣個奇葩東東。。。
竟然還意外的好看....
使用三角形繪圖的時候,一定要注意頂點要足夠。即使使用三角扇形時,有公用的頂點,如果頂點不夠,是畫不出來的。