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
D3DX9Mesh.h
Library
D3dx9.lib

See also

UVAtlas Functions

Using UVAtlas (Direct3D 9)