在代码里面通过创建三角单元来构建3D模型都是非常频繁的,那么D3DX库里面也提供了一下生成简单3D模型的接口。
D3DX提供了下面6个接口:
D3DXCreateBox
D3DXCreateSphere
D3DXCreateCylinder
D3DXCreateTeapot
D3DXCreatePolygon
D3DXCreateTorus
以上的接口非常相似,而且都使用了D3DX的网格数据结构ID3DXMesh和ID3DXBuffer。
那我们如何用最简单的方法来调用这些接口呢?
HRESULT D3DXCreateTeapot(
LPDIRECT3DDEVICE9 pDevice, //与网格相关的设备
LPD3DXMESH* ppMesh, //指向接收网格的指针
LPD3DXBUFFER* ppAdjacency //现在设置为0
)
例子:
ID3DXMesh* mesh = 0;
D3DXCreateTeapot(_device, &mesh, 0);
一旦生成了网格数据,那么就是用ID3DXMesh::DrawSubset函数对其进行绘制。