D3DXCreatePMeshFromStream
Creates a progressive mesh from a stream object.
HRESULT D3DXCreatePMeshFromStream(
IStream* pStream,
DWORD Options,
LPDIRECT3DDEVICE8 pD3DDevice,
LPD3DXBUFFER* ppMaterials,
DWORD* pNumMaterials,
LPD3DXPMESH* ppPMesh
);
Parameters
- pStream
- [in] Pointer to an IStream interface, representing the stream object from which to create the progressive mesh. The data in this stream was generated with the ID3DXPMesh::Save method.
- 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_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.
- pD3DDevice
- [in] Pointer to an IDirect3DDevice8 interface, the device object to be associated with the progressive mesh.
- ppMaterials
- [out] Address of a pointer to an ID3DXBuffer interface. When this method returns, this parameter is filled with an array of D3DXMATERIAL structures, containing information saved in the stream object.
- pNumMaterials
- [out] Pointer to the number of D3DXMATERIAL structures in the ppMaterials array, when the method returns.
- ppPMesh
- [out] Address of a pointer to an ID3DXPMesh interface, representing the created progressive mesh.
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.
Remarks
For more information on the IStream interface, see the Microsoft Platform Software Development Kit (SDK).
Header: Declared in D3dx8mesh.h.
Import Library: Use D3dx8.lib.
See Also
ID3DXPMesh::Save