ID3DXBaseMesh::CloneMesh 方法

使用声明符克隆网格。

语法

HRESULT CloneMesh(
  [in]                DWORD             Options,
  [in]          const D3DVERTEXELEMENT9 *pDeclaration,
  [in]                LPDIRECT3DDEVICE9 pDevice,
  [out, retval]       LPD3DXMESH        *ppCloneMesh
);

参数

选项 [in]

类型: DWORD

指定网格创建选项的一个或多个 D3DXMESH 标志的组合。

pDeclaration [in]

类型: const D3DVERTEXELEMENT9*

D3DVERTEXELEMENT9 元素的数组,指定输出网格中顶点的顶点格式。

pDevice [in]

类型: LPDIRECT3DDEVICE9

指向 IDirect3DDevice9 接口的指针,表示与网格关联的设备对象。

ppCloneMesh [out, retval]

类型: LPD3DXMESH*

指向 ID3DXMesh 接口(表示克隆网格)的指针的地址。

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

备注

ID3DXBaseMesh::CloneMesh 用于重新格式化和更改顶点数据布局。 这是通过创建新的网格对象来完成的。 例如,使用它为法线、纹理坐标、颜色、权重等添加空间。以前不存在的 。

ID3DXBaseMesh::UpdateSemantics 更新具有不同语义信息的顶点声明,而无需更改顶点缓冲区的布局。 此方法不会修改顶点缓冲区的内容。 例如,使用它将 3D 纹理坐标重新标记为二元或正切,反之亦然。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

ID3DXBaseMesh

ID3DXBaseMesh::CloneMeshFVF

D3DXDeclaratorFromFVF