D3DXUVAtlasPartition 函式
建立網格的 UV atlas。
語法
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
輸入網格的指標 (請參閱 ID3DXMesh) ,其中包含用來計算 atlas 的物件幾何。 網格至少必須包含位置資料和 2D 紋理座標。
-
dwMaxChartNumber [in]
-
類型: UINT
要分割網格的圖表數目上限。 請參閱有關資料分割模式的備註。 使用 0 來告訴 D3DX 應該根據延展將 atlas 參數化。
-
fMaxStretch [in]
-
類型: FLOAT
允許的延展量。 0 表示不允許延展,1 表示可以使用任意數量的延展。
-
dwTextureIndex [in]
-
類型: DWORD
以零起始的紋理座標索引,可識別要使用的紋理座標集。
-
pdwAdjacency [in]
-
類型:const DWORD*
每個臉部有 3 個 DWORD 的相鄰資料陣列指標,指出哪些三角形彼此相鄰, (請參閱 ID3DXBaseMesh::GenerateAdjacency) 。
-
pdwFalseEdges
-
類型:const DWORD*
每個臉部 3 個 DWORDS 的陣列。 每個臉部都會指出邊緣是否為 false。 非 false 邊緣以 -1 表示,false 邊緣會以任何其他值表示。 這會啟用四邊形網格的參數化,其中每個四邊的中間邊緣將不會剪下。
-
pfIMTArray [in]
-
類型: FLOAT*
整合式計量張量陣列的指標,描述如何延展三角形 (請參閱 IntegratedMetricTensor) 。
-
pCallback [in]
-
類型: LPD3DXU加值稅LASCB
回呼函式的指標 (請參閱適用于監視進度的 LPD3DXU加值稅LASCB) 。
-
fCallbackFrequency [in]
-
類型: FLOAT
指定 D3DX 呼叫回呼的頻率;合理的預設值為 0.0001f。
-
pUserContent [in]
-
類型: LPVOID
傳遞至回呼函式之使用者定義值的指標;通常由應用程式用來傳遞資料結構的指標,以提供回呼函式的內容資訊。
-
dwOptions [in]
-
類型: DWORD
指定結合一或多個 D3DXU加值稅LAS 旗標所產生的圖表品質。
-
ppMeshOut [in]
-
類型: LPD3DXMESH*
使用 atlas (建立網格的指標,請參閱 ID3DXMesh) 。
-
pFacePartitioning [out]
-
類型: LPD3DXBUFFER
最終臉部分割資料的陣列指標。 每個元素每個臉部都包含一個 DWORD (請參閱 ID3DXBuffer) 。
-
ppVertexRemapArray [out]
-
類型: LPD3DXBUFFER*
重新對應頂點陣列的指標。 如果頂點在重新對應) 期間分割頂點,則每個陣列元素都會識別每個最終頂點的來源 (。 每個陣列元素在每個頂點都包含一個 DWORD。
-
ppPartitionResultAdjacency
-
類型: LPD3DXBUFFER*
ID3DXBuffer介面指標的位址。 此緩衝區會包含每個臉部三個 DWORD 的陣列,指定輸出網格中每個臉部的三個芳鄰。 此參數不得為 Null,因為後續呼叫 D3DXUVAtlasPack () 需要它。
-
pfMaxStretchOut [out]
-
類型: FLOAT*
atlas 演算法所產生之最大延展值的指標。 範圍介於 0.0 和 1.0 之間。
-
pdwNumChartsOut [out]
-
類型: UINT*
atlas 演算法所建立圖表數目的指標。 如果 dwMaxChartNumber 太低,此參數會傳回建立 atlas 所需的最小圖表數目。
傳回值
類型: HRESULT
如果函式成功,則傳回值會D3D_OK;否則,此值會D3DERR_INVALIDCALL。
備註
D3DXUVAtlasPartition 類似于 D3DXUVAtlasCreate,不同之處在于 D3DXUVAtlasPartition 不會執行最終封裝步驟。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱