D3DXComputeIMTFromTexture function
Calculates per-triangle IMT's from a texture mapped onto a mesh, to be used optionally as input to the D3DX UVAtlas Functions.
Syntax
HRESULT D3DXComputeIMTFromTexture(
_In_ LPD3DXMESH pMesh,
_In_ LPDIRECT3DTEXTURE9 pTexture,
_In_ DWORD dwTextureIndex,
_In_ DWORD dwOptions,
LPD3DXUVATLASCB pStatusCallback,
LPVOID pUserContext,
_Out_ LPD3DXBUFFER *ppIMTData
);
Parameters
-
pMesh [in]
-
Type: LPD3DXMESH
A pointer to an input mesh (see ID3DXMesh) which contains the object geometry for calculating the IMT.
-
pTexture [in]
-
Type: LPDIRECT3DTEXTURE9
A pointer to the texture (see IDirect3DTexture9) that is mapped to the mesh.
-
dwTextureIndex [in]
-
Type: DWORD
Zero-based texture coordinate index that identifies which set of texture coordinates to use.
-
dwOptions [in]
-
Type: DWORD
Texture wrap options. This is a combination of one or more D3DXIMT FLAGS.
-
pStatusCallback
-
Type: LPD3DXUVATLASCB
A pointer to a callback function to monitor IMT computation progress.
-
pUserContext
-
Type: LPVOID
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]
-
Type: LPD3DXBUFFER*
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 value
Type: HRESULT
If the function succeeds, the return value is D3D_OK; otherwise, the value is D3DERR_INVALIDCALL.
Remarks
Given a texture that maps over the surface of the mesh, the algorithm computes the IMT for each face. This will cause triangles containing lower-frequency signal data to take up less space in the final texture atlas when parameterized with the UVAtlas functions. The texture is assumed to be interpolated over the mesh bilinearly.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|
See also