D3DXSplitMesh

DirectX8

Microsoft DirectX 8.1 (C++)

D3DXSplitMesh

Splits a mesh into meshes smaller than the specified size.

HRESULT D3DXSplitMesh(
  CONST LPD3DXMESH pMeshIn,
  CONST DWORD*     pAdjacencyIn,
  CONST DWORD      MaxSize,
  CONST DWORD      Options,
  DWORD*           pMeshesOut,
  LPD3DXBUFFER*    ppMeshArrayOut,
  LPD3DXBUFFER*    ppAdjacencyArrayOut,
  LPD3DXBUFFER*    ppFaceRemapArrayOut,
  LPD3DXBUFFER*    ppVertRemapArrayOut,

);

Parameters

pMeshIn
[in] Pointer to an ID3DXMesh interface, representing the source mesh.
pAdjacencyIn
[in] Pointer to an array of three DWORDs per face that specify the three neighbors for each face in the mesh to be simplified.
MaxSize
[in] Maximum number of vertices or faces in the new mesh.
Options
[in] Option flags for the new meshes.
pMeshesOut
[out, retval] Number of meshes returned.
ppMeshArrayOut
[out, retval] Buffer containing an array of ID3DXMesh interfaces for the new meshes.
ppAdjacencyArrayOut
[out, retval] Buffer containing an array of adjacency arrays for the new meshes. This parameter is optional. Set it to NULL if it is unused.
ppFaceRemapArrayOut
[out, retval] Buffer containing an array of face remap arrays for the new meshes. This parameter is optional. Set it to NULL if it is unused.
ppVertRemapArrayOut
[out, retval] Buffer containing an array of vertex remap arrays for the new meshes. This parameter is optional. Set it to NULL if it is unused.

Return Values

If the function succeeds, the return value is D3D_OK.

If the function fails, the return value can be one of the following values.

D3DERR_INVALIDCALL
D3DXERR_INVALIDDATA
E_OUTOFMEMORY

Requirements

  Header: Declared in D3dx8mesh.h.
  Import Library: Use D3dx8.lib.