次の方法で共有


D3DXUVAtlasPack 関数

メッシュパーティション分割データをアトラスにパックします。

構文

HRESULT D3DXUVAtlasPack(
  _In_       LPD3DXMESH      pMesh,
  _In_       UINT            dwWidth,
  _In_       UINT            dwHeight,
  _In_       FLOAT           fGutter,
  _In_       DWORD           dwTextureIndex,
       const DWORD           *pdwPartitionResultAdjacency,
  _In_       LPD3DXUVATLASCB pCallback,
  _In_       FLOAT           fCallbackFrequency,
  _In_       LPVOID          pUserContent,
  _In_       DWORD           dwOptions,
  _In_       LPD3DXBUFFER    pFacePartitioning
);

パラメーター

pMesh [in]

種類: LPD3DXMESH

atlas を計算するためのオブジェクト ジオメトリを含む入力メッシュへのポインター ( ID3DXMesh を参照)。 少なくとも、メッシュには位置データと 2D テクスチャ座標が含まれている必要があります。

dwWidth [in]

型: UINT

テクスチャの幅。

dwHeight [in]

型: UINT

テクスチャの高さ。

fGutter [in]

型: FLOAT

アトラス上の 2 つのグラフ間の最小距離 (テクセル単位)。 余白は常に幅でスケーリングされます。そのため、512 x 512 テクスチャで 2.5 の余白を使用する場合、2 つのグラフ間の最小距離は 2.5 / 512.0 テクセルです。

dwTextureIndex [in]

型: DWORD

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

pdwPartitionResultAdjacency

型: const DWORD*

メッシュ内の各面の 3 つの近傍を指定する、1 つの面に 3 つの DWORD の配列へのポインター。 D3DXUVAtlasPartition から返される ppPartitionResultAdjacency から派生する必要があります。 各グラフの端を見つけるには、パーティション ステップでグラフが切り取られた場所を Pack で把握する必要があるため、この値を NULL にすることはできません。

pCallback [in]

種類: LPD3DXUVATLASCB

進行状況の監視に役立つコールバック関数 ( LPD3DXUVATLASCB を参照) へのポインター。

fCallbackFrequency [in]

型: FLOAT

D3DX がコールバックを呼び出す頻度を指定します。適切な既定値は 0.0001f です。

pUserContent [in]

種類: LPVOID

コールバック関数に返される void ポインター。

dwOptions [in]

型: DWORD

このオプション パラメーターは現在予約されています。

pFacePartitioning [in]

種類: LPD3DXBUFFER

最終的な顔パーティション分割の配列を含む ID3DXBuffer へのポインター。 各要素には、顔ごとに 1 つの DWORD が含まれています。

戻り値

型: HRESULT

関数が成功した場合、戻り値はD3D_OK。それ以外の場合、値はD3DERR_INVALIDCALL。

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

関連項目

UVAtlas 関数