ID3DXSPMesh::CloneMeshFVF
Clones a mesh using a flexible vertex format (FVF) code.
HRESULT CloneMeshFVF(
DWORD Options,
DWORD FVF,
LPDIRECT3DDEVICE8 pDevice,
DWORD* pAdjacency,
DWORD* pVertexRemap,
LPD3DXMESH* ppCloneMesh
);
Parameters
- Options
- [in] A combination of one or more flags, specifying creation options for the mesh. The following flags are defined.
- D3DXMESH_32BIT
- The mesh has 32-bit indices instead of 16-bit indices. A 32-bit mesh can support up to 2^32-1 faces and vertices. This flag is not supported and should not be used.
- D3DXMESH_DONOTCLIP
- Use the D3DUSAGE_DONOTCLIP usage flag for vertex and index buffers.
- D3DXMESH_DYNAMIC
- Equivalent to specifying both D3DXMESH_VB_DYNAMIC and D3DXMESH_IB_DYNAMIC.
- D3DXMESH_RTPATCHES
- Use the D3DUSAGE_RTPATCHES usage flag for vertex and index buffers.
- D3DXMESH_NPATCHES
- Specifying this flag causes the vertex and index buffer of the mesh to be created with D3DUSAGE_NPATCHES flag. This is required if the mesh object is to be rendered using N-Patch enhancement using Microsoft® Direct3D®.
- D3DXMESH_MANAGED
- Equivalent to specifying both D3DXMESH_VB_MANAGED and D3DXMESH_IB_MANAGED.
- D3DXMESH_POINTS
- Use the D3DUSAGE_POINTS usage flag for vertex and index buffers.
- D3DXMESH_IB_DYNAMIC
- Use the D3DUSAGE_DYNAMIC usage flag for index buffers.
- D3DXMESH_IB_MANAGED
- Use the D3DPOOL_MANAGED memory class for index buffers.
- D3DXMESH_IB_SYSTEMMEM
- Use the D3DPOOL_SYSTEMMEM memory class for index buffers.
- D3DXMESH_IB_WRITEONLY
- Use the D3DUSAGE_WRITEONLY usage flag for index buffers.
- D3DXMESH_SYSTEMMEM
- Equivalent to specifying both D3DXMESH_VB_SYSTEMMEM and D3DXMESH_IB_SYSTEMMEM.
- D3DXMESH_VB_DYNAMIC
- Use the D3DUSAGE_DYNAMIC usage flag for vertex buffers.
- D3DXMESH_VB_MANAGED
- Use the D3DPOOL_MANAGED memory class for vertex buffers.
- D3DXMESH_VB_SHARE
- Forces the cloned meshes to share vertex buffers. These meshes will have separate index buffers into the shared vertex buffer.
- D3DXMESH_VB_SYSTEMMEM
- Use the D3DPOOL_SYSTEMMEM memory class for vertex buffers.
- D3DXMESH_VB_WRITEONLY
- Use the D3DUSAGE_WRITEONLY usage flag for vertex buffers.
- D3DXMESH_WRITEONLY
- Equivalent to specifying both D3DXMESH_VB_WRITEONLY and D3DXMESH_IB_WRITEONLY.
- FVF
- [in] Combination of flexible vertex format flags that specifies the vertex format for the vertices in the output mesh.
- pDevice
- [in] Pointer to an IDirect3DDevice8 interface, representing the device object associated with the mesh.
- pAdjacency
- [in] Pointer to an array of three DWORDs per face that specify the three neighbors for each face in the source mesh.
- pVertexRemap
- [in] Pointer to an array containing the index for each vertex.
- ppCloneMesh
- [out, retval] Address of a pointer to an ID3DXPMesh interface, representing the cloned mesh.
Return Values
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value can be one of the following values.
Remarks
CloneMeshFVF can be used to convert a mesh from one FVF to another.
Header: Declared in D3dx8mesh.h.
Import Library: Use D3dx8.lib.
See Also
ID3DXSPMesh::GetFVF, D3DXFVFFromDeclarator