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 库。我的位于“C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\Samples\C++\DXUT11”
如果您不想在您的项目中使用 DXUT,您可以只查看 DXUTOptional 项目中的源代码并根据您自己的目的进行调整。DXUT 的所有源代码都在 DXUTCore 和 DXUTOptional 项目中可用。
祝你好运!