D3DX中有幾個現成的函數可以繪製常見的3D模型
-
D3DXCreateBox
-
D3DXCreateSphere
-
D3DXCreateCylinder //圓柱
-
D3DXCreateTeapot
-
D3DXCreatePolygon
-
D3DXCreateTorus //圓環體,類似於麪包圈
這些函數有三個參數是一樣的,它們分別是
1. 第一個參數 LPDIRECT3DDEVICE9 pDevice //這是用來繪圖的device
2. 倒數第二個參數LPD3DXMESH * ppMesh //用來存儲創建後的mesh
3. 最後一個參數LPD3DXBUFFER * ppAdjacency //用來優化mesh用的,我們這裏設置爲null即可
其他的參數則與具體的模型有關,比如Box要指定尺寸,Sphere要指定半徑等。
下面以D3DXCreateSphere爲例講解一下使用這些函數的一般步驟
原型
HRESULT D3DXCreateSphere(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Radius,
UINT Slices,
UINT Stacks,
LPD3DXMESH * ppMesh,
LPD3DXBUFFER * ppAdjacency
);