D3DXComputeIMTFromTexture 函数

根据映射到网格的纹理计算每三角形的 IMT,以便选择性地用作 D3DX UVAtlas 函数的输入。

语法

HRESULT D3DXComputeIMTFromTexture(
  _In_  LPD3DXMESH         pMesh,
  _In_  LPDIRECT3DTEXTURE9 pTexture,
  _In_  DWORD              dwTextureIndex,
  _In_  DWORD              dwOptions,
        LPD3DXUVATLASCB    pStatusCallback,
        LPVOID             pUserContext,
  _Out_ LPD3DXBUFFER       *ppIMTData
);

参数

pMesh [in]

类型: LPD3DXMESH

指向输入网格的指针 (查看 ID3DXMesh) ,其中包含用于计算 IMT 的对象几何图形。

pTexture [in]

类型: LPDIRECT3DTEXTURE9

指向纹理的指针 (查看映射到网格的 IDirect3DTexture9) 。

dwTextureIndex [in]

类型: DWORD

从零开始的纹理坐标索引,用于标识要使用的纹理坐标集。

dwOptions [in]

类型: DWORD

纹理换行选项。 这是一个或多个 D3DXIMT 标志的组合

pStatusCallback

类型: LPD3DXUVATLASCB

指向用于监视 IMT 计算进度的回调函数的指针。

pUserContext

类型: LPVOID

指向传递给状态回调函数的用户定义变量的指针。 通常由应用程序用来传递指向数据结构的指针,该数据结构为回调函数提供上下文信息。

ppIMTData [out]

类型: LPD3DXBUFFER*

指向缓冲区的指针 (看到包含返回的 IMT 数组的 ID3DXBuffer) 。 此数组可以作为 D3DX UVAtlas 函数 的输入提供,以在纹理参数化中确定纹理空间分配的优先级。

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK;否则,该值为D3DERR_INVALIDCALL。

备注

给定在网格表面映射的纹理,该算法计算每个人脸的 IMT。 当使用 UVAtlas 函数参数化时,这将导致包含低频信号数据的三角形在最终纹理图集中占用的空间更少。 假定纹理在网格上双线性内插。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

UVAtlas 函数

使用 UVAtlas (Direct3D 9)