D3DXUVAtlasPack 函式

將網格分割資料封裝成 atlas。

語法

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

輸入網格的指標 (請參閱 ID3DXMesh) ,其中包含用來計算 atlas 的物件幾何。 網格至少必須包含位置資料和 2D 紋理座標。

dwWidth [in]

類型: UINT

紋理寬度。

dwHeight [in]

類型: UINT

紋理高度。

fGutter [in]

類型: FLOAT

地圖上兩個圖表之間的最小距離,以紋素為單位。 裝訂邊一律會依寬度縮放;因此,如果在 512x512 紋理上使用 2.5 的裝訂邊,則兩個圖表之間的最小距離是 2.5 / 512.0 紋素。

dwTextureIndex [in]

類型: DWORD

以零起始的紋理座標索引,可識別要使用的紋理座標集。

pdwPartitionResultAdjacency

類型:const DWORD*

每個臉部三個 DWORD 陣列的指標,指定網格中每個臉部的三個芳鄰。 它應該衍生自 從 D3DXUVAtlasPartition傳回的 ppPartitionResultAdjacency。 此值不可為 Null,因為 Pack 必須知道分割區步驟中已剪下圖表的位置,才能尋找每個圖表的邊緣。

pCallback [in]

類型: LPD3DXU加值稅LASCB

回呼函式的指標 (請參閱適用于監視進度的 LPD3DXU加值稅LASCB) 。

fCallbackFrequency [in]

類型: FLOAT

指定 D3DX 呼叫回呼的頻率;合理的預設值為 0.0001f。

pUserContent [in]

類型: LPVOID

要傳回回回呼函式的 void 指標。

dwOptions [in]

類型: DWORD

此參數目前已保留。

pFacePartitioning [in]

類型: LPD3DXBUFFER

ID3DXBuffer的指標,其中包含最終臉部分割的陣列。 每個元素每個臉部都包含一個 DWORD。

傳回值

類型: HRESULT

如果函式成功,則傳回值會D3D_OK;否則,此值會D3DERR_INVALIDCALL。

規格需求

需求
標頭
D3DX9Mesh.h
程式庫
D3dx9.lib

另請參閱

UVAtlas 函式