DirectX10中的形状绘制功能在哪里



例如CreateTeapot函数-http://msdn.microsoft.com/en-us/library/windows/desktop/bb172798(v=vs.85).aspx

DX10中是否有等效软件?如果是,我该如何使用它?

在DX9中,您。。

声明:

LPD3DXMESH meshTeapot;

初始化:

D3DXCreateTeapot(device, &meshTeapot, NULL);

德鲁:

meshTeapot->DrawSubset(0);  

发布:

meshTeapot->Release();

是否有一套等效的绘制基元的方法?(老实说,我对球体比对茶壶更感兴趣!)

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(2009年8月)\Samples\C++\DXUT11"

如果您不想在项目中使用DXUT,您可以查看DXUTOPTIAL项目中的源代码,并根据自己的目的进行调整。DXUT的所有源代码都可以在DXUTCore和DXUTOptional项目中使用。

祝你好运!

最新更新