的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項目中找到。
祝你好運!