天天看點

Direct-X學習筆記--圖元繪制

DX中有6種圖元:

頂點集合,線段集合,線段條帶,三角形集合,三角形條帶,三角扇形。

在渲染時一般采用三角形來構成多邊形,三角形三個頂點一定共面,共面的時候,渲染較快。

Direct-X學習筆記--圖元繪制

(該圖檔來自百度)

我們在繪制的時候,使用該函數繪制圖元,第一個參數為圖元的類型,即上圖中的幾種類型:

點列集合    D3DPT_POINTLIST   一組點的集合

線列集合    D3DPT_LINELIST      一組線段的集合

線帶集合    D3DPT_LINESTRIP    首尾相連的線段的集合

三角形列    D3DPT_TRIANGLELIST      一組三角形的集合

三角形帶    D3DPT_TRIANGLESTRIP  首尾相連的三角形,有兩個頂點重合

三角形扇    D3DPT_TRIANGLEFAN      組成扇形的一組三角形

//繪制圖元 
	g_pDevice->DrawPrimitive(
		D3DPT_LINELIST,		    //圖元類型
		0,			   //起始點編号
		1			   //圖元數量
		);
           

這裡,我用了兩個頂點,繪制了一個從0号頂點開始到1号頂點的一個圖元,是一條直線:

Direct-X學習筆記--圖元繪制

其他的圖元繪制也類似,不過要注意的是繪制的順序,按照給出的頂點順序來繪制的。根據各種圖元,繪制相應類型的圖。

三個點繪制兩個圖元,首尾相連,線帶。

Direct-X學習筆記--圖元繪制

調整了一下,本想畫個圓,不過貌似坐标沒搞對,于是出了個這樣個奇葩東東。。。

竟然還意外的好看....

Direct-X學習筆記--圖元繪制

使用三角形繪圖的時候,一定要注意頂點要足夠。即使使用三角扇形時,有公用的頂點,如果頂點不夠,是畫不出來的。