D3DXComputeIMTFromPerVertexSignal

Calculate per-triangle IMT's from from per-vertex data. This function allows you to calculate the IMT based off of any value in a mesh (color, normal, etc).

HRESULT D3DXComputeIMTFromPerVertexSignal(
  LPD3DXMESH pMesh,
  CONST FLOAT * pfVertexSignal,
  UINT uSignalDimension,
  UINT uSignalStride,
  DWORD dwOptions,
  LPD3DXUVATLASCB pStatusCallback,
  LPVOID pUserContext,
  LPD3DXBUFFER * ppIMTData
);

Parameters

pMesh
[in] A pointer to an input mesh (see ID3DXMesh) which contains the object geometry for calculating the IMT.
pfVertexSignal
[in] A pointer to an array of per-vertex data from which IMT will be computed. The array size is uSignalStride * v, where v is the number of vertices in the mesh.
uSignalDimension
[in] The number of floats per vertex.
uSignalStride
[in] The number of bytes per vertex in the array. This must be a multiple of sizeof(float)
dwOptions
[in] Texture wrap options. This is a combination of one or more D3DXIMT FLAGS.
pStatusCallback
[in] A pointer to a callback function to monitor IMT computation progress.
pUserContext
[in] A pointer to a user-defined variable which is passed to the status callback function. Typically used by an application to pass a pointer to a data structure that provides context information for the callback function.
ppIMTData
[out] A pointer to the buffer (see ID3DXBuffer) containing the returned IMT array. This array can be provided as input to the D3DX UVAtlas Functions to prioritize texture-space allocation in the texture parameterization.

Return Values

If the function succeeds, the return value is D3D_OK; otherwise, the value is D3DERR_INVALIDCALL.

Requirements

Header: Declared in D3dx9mesh.h.

See Also

Using UVAtlas