D3DXConcatenateMeshes 函数

将一组网格串联成一个通用网格。 此方法可以选择将矩阵转换应用于每个输入网格及其纹理坐标。

语法

HRESULT D3DXConcatenateMeshes(
  _In_        LPD3DXMESH        *ppMeshes,
  _In_        UINT              NumMeshes,
  _In_        DWORD             Options,
  _In_  const D3DXMATRIX        *pGeomXForms,
  _In_  const D3DXMATRIX        *pTextureXForms,
  _In_  const D3DVERTEXELEMENT9 *pDecl,
  _In_        LPDIRECT3DDEVICE9 pD3DDevice,
  _Out_       LPD3DXMESH        *ppMeshOut
);

参数

ppMeshes [in]

类型: LPD3DXMESH*

输入网格指针的数组 (请参阅 ID3DXMesh) 。 数组中的元素数为 NumMeshes。

NumMeshes [in]

类型: UINT

要串联的输入网格数。

选项 [in]

类型: DWORD

网格创建选项;这是一个或多个 D3DXMESH 标志的组合。 网格创建选项等效于 D3DXCreateMesh 所需的 options 参数。

pGeomXForms [in]

类型: const D3DXMATRIX*

可选几何图形转换数组。 数组中的元素数为 NumMeshes;每个元素都是一个转换矩阵, (请参阅 D3DXMATRIX) 。 可能为 NULL

pTextureXForms [in]

类型: const D3DXMATRIX*

纹理转换的可选数组。 数组中的元素数为 NumMeshes;每个元素都是一个转换矩阵, (请参阅 D3DXMATRIX) 。 此参数可以为 NULL

pDecl [in]

类型: const D3DVERTEXELEMENT9*

指向顶点声明的可选指针 (请参阅 D3DVERTEXELEMENT9) 。 此参数可以为 NULL

pD3DDevice [in]

类型: LPDIRECT3DDEVICE9

指向用于创建新网格的 IDirect3DDevice9 设备的指针。

ppMeshOut [out]

类型: LPD3DXMESH*

指向创建的网格的指针的地址 (请参阅 ID3DXMesh) 。

返回值

类型: HRESULT

如果函数成功,则返回值S_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

备注

如果未在 Options 网格创建参数中提供 顶点声明 ,该方法将生成子meshes的所有顶点声明的联合,并在必要时提升通道和类型。 方法将从输入网格的属性表创建属性表。 若要确保创建属性表,请调用 Flags 设置为 D3DXMESHOPT_COMPACT 优化,D3DXMESHOPT_ATTRSORT (请参阅 D3DXMESHOPT) 。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

网格函数