D3DXComputeIMTFromSignal 函数

根据自定义应用程序指定的信号计算每三角形的 IMT,该信号在网格 (表面上变化,频率通常高于顶点数据) 。 信号通过用户指定的回调函数进行评估。

语法

HRESULT D3DXComputeIMTFromSignal(
  _In_  LPD3DXMESH              pMesh,
  _In_  DWORD                   dwTextureIndex,
  _In_  UINT                    uSignalDimension,
  _In_  FLOAT                   fMaxUVDistance,
  _In_  DWORD                   dwOptions,
  _In_  LPD3DXIMTSIGNALCALLBACK pSignalCallback,
  _In_  VOID                    *pUserData,
        LPD3DXUVATLASCB         pStatusCallback,
        LPVOID                  pUserContext,
  _Out_ LPD3DXBUFFER            *ppIMTData
);

parameters

pMesh [in]

类型: LPD3DXMESH

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

dwTextureIndex [in]

类型: DWORD

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

uSignalDimension [in]

类型: UINT

信号中每个数据点中的组件数。

fMaxUVDistance [in]

类型: FLOAT

顶点之间的最大距离;算法将继续细分,直到所有顶点之间的距离小于或等于 fMaxUVDistance。

dwOptions [in]

类型: DWORD

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

pSignalCallback [in]

类型: LPD3DXIMTSIGNALCALLBACK

指向用户提供的计算器函数的指针,该函数将用于计算任意 U,V 坐标处的信号值。 函数遵循 LPD3DXIMTSIGNALCALLBACK 的原型。

pUserData [in]

类型: VOID*

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

pStatusCallback

类型: LPD3DXUVATLASCB

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

pUserContext

类型: LPVOID

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

ppIMTData [out]

类型: LPD3DXBUFFER*

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

返回值

类型: HRESULT

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

注解

此函数要求输入网格包含信号到网格纹理映射 (即。纹理坐标) 。 它允许用户在网格表面任意定义信号。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

请参阅

UVAtlas 函数

使用 UVAtlas (Direct3D 9)