D3DXUVAtlasPartition 関数
メッシュの UV アトラスを作成します。
構文
HRESULT D3DXUVAtlasPartition(
_In_ LPD3DXMESH pMesh,
_In_ UINT dwMaxChartNumber,
_In_ FLOAT fMaxStretch,
_In_ DWORD dwTextureIndex,
_In_ const DWORD *pdwAdjacency,
const DWORD *pdwFalseEdges,
_In_ FLOAT *pfIMTArray,
_In_ LPD3DXUVATLASCB pCallback,
_In_ FLOAT fCallbackFrequency,
_In_ LPVOID pUserContent,
_In_ DWORD dwOptions,
_In_ LPD3DXMESH *ppMeshOut,
_Out_ LPD3DXBUFFER pFacePartitioning,
_Out_ LPD3DXBUFFER *ppVertexRemapArray,
LPD3DXBUFFER *ppPartitionResultAdjacency,
_Out_ FLOAT *pfMaxStretchOut,
_Out_ UINT *pdwNumChartsOut
);
パラメーター
-
pMesh [in]
-
種類: LPD3DXMESH
atlas を計算するためのオブジェクト ジオメトリを含む入力メッシュへのポインター ( ID3DXMesh を参照)。 少なくとも、メッシュには位置データと 2D テクスチャ座標が含まれている必要があります。
-
dwMaxChartNumber [in]
-
型: UINT
メッシュをパーティション分割するグラフの最大数。 パーティション分割モードに関する解説を参照してください。 0 を使用して、ストレッチに基づいてアトラスをパラメーター化する必要があることを D3DX に指示します。
-
fMaxStretch [in]
-
型: FLOAT
許容されるストレッチの量。 0は延伸が許可されていないことを意味し、1は任意の量の延伸が使用できることを意味する。
-
dwTextureIndex [in]
-
種類: DWORD
使用するテクスチャ座標のセットを識別する 0 から始まるテクスチャ座標インデックス。
-
pdwAdjacency [in]
-
型: const DWORD*
面あたり 3 つの DWORD を持つ隣接データの配列へのポインター。互いに隣接する三角形を示します ( 「ID3DXBaseMesh::GenerateAdjacency」を参照)。
-
pdwFalseEdges
-
型: const DWORD*
1 つの顔に 3 つの DWORDS を含む配列。 各面は、エッジが false かどうかを示します。 false 以外のエッジは -1 で示され、false エッジは他の値で示されます。 これにより、四角形のメッシュのパラメータ化が可能になり、各クワッドの中央から下のエッジは切断されません。
-
pfIMTArray [in]
-
型: FLOAT*
三角形をストレッチする方法を説明する統合メトリック テンソルの配列へのポインター ( 「IntegratedMetricTensor」を参照)。
-
pCallback [in]
-
種類: LPD3DXUVATLASCB
進行状況の監視に役立つコールバック関数 ( LPD3DXUVATLASCB を参照) へのポインター。
-
fCallbackFrequency [in]
-
型: FLOAT
D3DX がコールバックを呼び出す頻度を指定します。適切な既定値は 0.0001f です。
-
pUserContent [in]
-
種類: LPVOID
コールバック関数に渡されるユーザー定義値へのポインター。通常は、コールバック関数のコンテキスト情報を提供するデータ構造へのポインターを渡すためにアプリケーションによって使用されます。
-
dwOptions [in]
-
種類: DWORD
1 つ以上の D3DXUVATLAS フラグを組み合わせて生成されるグラフの品質を指定します。
-
ppMeshOut [in]
-
種類: LPD3DXMESH*
atlas を使用して作成されたメッシュへのポインター ( 「ID3DXMesh」を参照)。
-
pFacePartitioning [out]
-
種類: LPD3DXBUFFER
最終的な顔パーティション分割データの配列へのポインター。 各要素には、顔ごとに 1 つの DWORD が含まれます ( 「ID3DXBuffer」を参照)。
-
ppVertexRemapArray [out]
-
種類: LPD3DXBUFFER*
再マップされた頂点の配列へのポインター。 各配列要素は、最終的な各頂点の元の頂点を識別します (再マップ中に頂点が分割された場合)。 各配列要素には、頂点ごとに 1 つの DWORD が含まれています。
-
ppPartitionResultAdjacency
-
種類: LPD3DXBUFFER*
ID3DXBuffer インターフェイスへのポインターのアドレス。 このバッファーには、出力メッシュ内の各面の 3 つのネイバーを指定する 1 つの面に 3 つの DWORD の配列が含まれます。 D3DXUVAtlasPack() の後続の呼び出しで必要になるため、このパラメーターは NULL にすることはできません。
-
pfMaxStretchOut [out]
-
型: FLOAT*
atlas アルゴリズムによって生成される最大ストレッチ値へのポインター。 範囲は 0.0 ~ 1.0 です。
-
pdwNumChartsOut [out]
-
型: UINT*
atlas アルゴリズムによって作成されたグラフの数へのポインター。 dwMaxChartNumber が低すぎる場合、このパラメーターは atlas の作成に必要なグラフの最小数を返します。
戻り値
種類: HRESULT
関数が成功した場合、戻り値はD3D_OK。それ以外の場合、値はD3DERR_INVALIDCALL。
注釈
D3DXUVAtlasPartition は D3DXUVAtlasCreate に似ていますが、D3DXUVAtlasPartition では最終的なパッキング ステップは実行されません。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください