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
);

パラメーター

pMesh [in]

種類: LPD3DXMESH

IMT を計算するためのオブジェクト ジオメトリを含む入力メッシュへのポインター ( ID3DXMesh を参照)。

dwTextureIndex [in]

型: DWORD

使用するテクスチャ座標のセットを識別する 0 から始まるテクスチャ座標インデックス。

uSignalDimension [in]

型: UINT

シグナル内の各データ ポイント内のコンポーネントの数。

fMaxUVDistance [in]

型: FLOAT

頂点間の最大距離。アルゴリズムは、すべての頂点間の距離が fMaxUVDistance 以下になるまで再分割を続けます。

dwOptions [in]

型: DWORD

テクスチャ ラップ オプション。 これは、1 つ以上の D3DXIMT FLAGS の組み合わせです。

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)