D3DXComputeIMTFromPerVertexSignal 函数

根据每顶点数据计算每三角形 IMT。 此函数允许根据网格中的任何值(颜色、常规等)计算 IMT。

语法

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

参数

pMesh [in]

类型:LPD3DXMESH

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

pfVertexSignal [in]

类型:const FLOAT*

指向从中计算 IMT 的每顶点数据的数组的指针。 数组大小为 uSignalStride * v,其中 v 是网格中的顶点数。

uSignalDimension [in]

类型:UINT

每个顶点的浮点数。

uSignalStride [in]

类型:UINT

数组中每个顶点的字节数。 这必须是 sizeof(float) 的倍数

dwOptions [in]

类型:DWORD

纹理包装选项。 这是一个或多个 D3DXIMT FLAGS 的组合。

pStatusCallback

类型:LPD3DXUVATLASCB

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

pUserContext

类型:LPVOID

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

ppIMTData [out]

类型:LPD3DXBUFFER*

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

返回值

类型:HRESULT

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

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

UVAtlas 函数

使用 UVAtlas (Direct3D 9)