2012-02-03 36 views
1

例如CreateTeapot功能 - http://msdn.microsoft.com/en-us/library/windows/desktop/bb172798(v=vs.85).aspx哪裏有DirectX10中的形狀繪製功能?

DX10中是否有等價物?如果是這樣,我該如何使用它?

在DX9你..

聲明:

LPD3DXMESH meshTeapot; 

初始化:

D3DXCreateTeapot(device, &meshTeapot, NULL); 

德魯:

meshTeapot->DrawSubset(0); 

發行時間:

meshTeapot->Release(); 

是否有圖元一個等效的方法? (說實話領域更感興趣的我比茶壺!)

回答

1

的D3DX庫改變了不少從DirectX9的到的DirectX11。許多輔助函數被刪除,包括形狀繪製的函數。但是,DirectX11的DXUT庫包含許多您正在尋找的功能。在DXUTOptional項目中,有一個DXUTShaped.h文件,其中包含DXUTCreateTeapot()。這裏是所有的它支持的形狀創建功能...

HRESULT WINAPI DXUTCreateBox(ID3D10Device* pDevice, float fWidth, float fHeight, float fDepth, ID3DX10Mesh** ppMesh); 
HRESULT WINAPI DXUTCreateCylinder(ID3D10Device* pDevice, float fRadius1, float fRadius2, float fLength, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh); 
HRESULT WINAPI DXUTCreatePolygon(ID3D10Device* pDevice, float fLength, UINT uSides, ID3DX10Mesh** ppMesh); 
HRESULT WINAPI DXUTCreateSphere(ID3D10Device* pDevice, float fRadius, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh); 
HRESULT WINAPI DXUTCreateTorus(ID3D10Device* pDevice, float fInnerRadius, float fOuterRadius, UINT uSides, UINT uRings, ID3DX10Mesh** ppMesh); 
HRESULT WINAPI DXUTCreateTeapot(ID3D10Device* pDevice, ID3DX10Mesh** ppMesh); 

你可以找到你安裝了DirectX SDK的DXUT庫。 Mine是 「C:\ Program Files(x86)\ Microsoft DirectX SDK(2009年8月)\ Samples \ C++ \ DXUT11」

如果您不想在項目中使用DXUT,只需查看DXUTOptional項目中的源代碼並根據您自己的目的進行調整。所有DXUT的源代碼都可以在DXUTCore和DXUTOptional項目中找到。

祝你好運!