Microsoft DirectX 9.0

D3DXCreatePMeshFromStream Function

Creates a progressive mesh from a stream object.


HRESULT D3DXCreatePMeshFromStream(      

    IStream *pStream,     DWORD Options,     LPDIRECT3DDEVICE9 pDevice,     LPD3DXBUFFER *ppMaterials,     LPD3DXBUFFER* ppEffectInstances,     DWORD *pNumMaterials,     LPD3DXPMESH *ppPMesh );


[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.
[in] Combination of one or more flags from the D3DXMESH enumeration, specifying creation options for the mesh.
[in] Pointer to an IDirect3DDevice9 interface, the device object to be associated with the progressive mesh.
[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.
[out] Pointer to a buffer containing an array of effect instances, one per attribute group in the returned mesh. An effect instance is a particular instance of state information used to initialize an effect. For more information about accessing the buffer, see ID3DXBuffer.
[out] Pointer to the number of D3DXMATERIAL structures in the ppMaterialsarray, when the method returns.
[out] Address of a pointer to an ID3DXPMesh interface, representing the created progressive mesh.

Return Value

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_INVALIDCALLThe method call is invalid. For example, a method's parameter may have an invalid value.
D3DXERR_INVALIDDATAThe data is invalid.
E_OUTOFMEMORYMicrosoft?Direct3D?could not allocate sufficient memory to complete the call.


For more information about the IStream interface, see the Microsoft Platform Software Development Kit (SDK).

For mesh files that do not contain effect instance information, default effect instances will be generated from the material information in the .x file. A default effect instance will have default values that correspond to the members of the D3DMATERIAL9 structure.

The default texture name is also filled in, but is handled differently. The name will be Texture0@Name, which corresponds to an effect variable by the name of "Texture0" with an annotation called "Name." This will contain the string file name for the texture.

Function Information

Import libraryd3dx9.lib
Minimum operating systems Windows 98

See Also


© 2002 Microsoft Corporation. All rights reserved.