D3DXSHPRTCompSplitMeshSC 函式
與預先計算弧度傳輸的頂點版本結果搭配使用, (PRT) 模擬器。 呼叫 D3DXSHPRTCompSuperCluster之後,此函式可用來將網格分割成每個超級叢集的臉部/頂點群組。 每個超級叢集都包含所有臉部,其中包含其中一個叢集中分類的任何頂點。 連接到這組臉部的所有頂點也會包含在傳回的陣列 ppVertStatus 中,指出頂點是否屬於超級叢集。
語法
HRESULT D3DXSHPRTCompSplitMeshSC(
_In_ UINT *pClusterIDs,
_In_ UINT NumVertices,
_In_ UINT NumCs,
_In_ UINT *pSClusterIDs,
_In_ UINT NumSCs,
_In_ LPVOID pInputIB,
_In_ BOOL InputIBIs32Bit,
_In_ UINT NumFaces,
_Inout_ LPD3DXBUFFER *ppIBData,
_Inout_ UINT *pIBDataLength,
_Inout_ BOOL OutputIBIs32Bit,
_Inout_ LPD3DXBUFFER *ppFaceRemap,
_Inout_ LPD3DXBUFFER *ppVertData,
_Inout_ UINT *pVertDataLength,
_Inout_ UINT *pSCClusterList,
_Inout_ D3DXSHPRTSPLITMESHCLUSTERDATA *pSCData
);
參數
-
pClusterIDs [in]
-
類型: UINT*
從壓縮緩衝區擷取的NumVertices叢集識別碼 (。)
-
NumVertices [in]
-
類型: UINT
原始網格中的頂點數目。
-
數值 [in]
-
類型: UINT
將輸入參數 (壓縮的叢集數目。)
-
pSClusterIDs [in]
-
類型: UINT*
將包含超級叢集識別碼的大小 NumC 陣列。
-
NumSC [in]
-
類型: UINT
在 D3DXSHPRTCompSuperCluster中配置的超級叢集數目。
-
pInputIB [in]
-
類型: LPVOID
網格的原始索引緩衝區。 格式取決於 InputIBIs32Bit。
-
InputIBIs32Bit [in]
-
類型: BOOL
如果 為 TRUE,索引緩衝區會設定為 32 位;否則為 16 位。
-
NumFaces [in]
-
類型: UINT
原始網格 (pInputIB 中的臉部數目是這個長度的 3 倍。)
-
ppIBData [in, out]
-
類型: LPD3DXBUFFER*
將包含結果分割臉部的原始索引緩衝區。 InputIBIs32Bit所決定的格式。 由函式配置。
-
pIBDataLength [in, out]
-
類型: UINT*
函式中指派的 ppIBData長度。
-
OutputIBIs32Bit [in, out]
-
類型: BOOL
如果 為 TRUE,則配置不帶正負號的整數陣列;否則,會配置不帶正負號的簡短陣列。
-
ppFaceRemap [in, out]
-
類型: LPD3DXBUFFER*
ppIBData中的每個臉部對應至原始臉部。 長度為 *pIBDataLength/3。
-
ppVertData [in, out]
-
類型: LPD3DXBUFFER*
新的頂點資料結構。 pVertDataLength的大小。
-
pVertDataLength [in, out]
-
類型: UINT*
分割網格中的新頂點數目。 在 函式中指派。
-
pSCClusterList [in, out]
-
類型: UINT*
pSCData索引到每個超級叢集 (pClusterIDs* 欄位) 長度的 NumCs陣列,包含依 supercluster 排序的叢集。
-
pSCData [in, out]
-
類型: D3DXSHPRTSPLITMESHCLUSTERDATA*
每個超級叢集的結構。 將索引包含在 ppIBData、 pSCClusterList和 ppVertData中。
傳回值
類型: HRESULT
如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱