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