Generates a progressive mesh.
HRESULT D3DXGeneratePMesh( LPD3DXMESH pMesh, CONST DWORD * pAdjacency, CONST D3DXATTRIBUTEWEIGHTS * pVertexAttributeWeights, CONST FLOAT * pVertexWeights, DWORD MinValue, DWORD Options, LPD3DXPMESH * ppPMesh );
If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DXERR_CANNOTATTRSORT, D3DERR_INVALIDCALL, E_OUTOFMEMORY.
This function generates a mesh where the level of detail (LOD) can be adjusted from the current value to the MinValue.
If the simplification process cannot reduce the mesh to MinValue, the call still succeeds because MinValue is a desired minimum, not an absolute minimum.
If pVertexAttributeWeights is set to NULL, the following values are assigned to the default D3DXATTRIBUTEWEIGHTS structure.
D3DXATTRIBUTEWEIGHTS AttributeWeights; AttributeWeights.Position = 1.0; AttributeWeights.Boundary = 1.0; AttributeWeights.Normal = 1.0; AttributeWeights.Diffuse = 0.0; AttributeWeights.Specular = 0.0; AttributeWeights.Tex[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
This default structure is what most applications should use because it considers only geometric and normal adjustment. Only in special cases will the other member fields need to be modified.
Header: Declared in D3dx9mesh.h.