Fungsi D3DXSHPRTCompSplitMeshSC
Digunakan dengan hasil terkompresi dari versi puncak dari simulator transfer radiance (PRT) yang telah dikompresi. Setelah D3DXSHPRTCompSuperCluster dipanggil, fungsi ini dapat digunakan untuk membagi jala menjadi sekelompok wajah/simpul per kluster super. Setiap kluster super berisi semua wajah yang berisi vertex apa pun yang diklasifikasikan dalam salah satu klusternya. Semua simpul yang terhubung ke set wajah ini juga disertakan dengan array yang dikembalikan ppVertStatus yang menunjukkan apakah puncak milik kluster super atau tidak.
Sintaks
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
);
Parameter
-
pClusterIDs [in]
-
Jenis: UINT*
ID kluster NumVertices (diekstrak dari buffer terkompresi.)
-
NumVertices [in]
-
Jenis: UINT
Jumlah simpul dalam jala asli.
-
NumCs [in]
-
Jenis: UINT
Jumlah kluster (parameter input ke kompresi.)
-
pSClusterIDs [in]
-
Jenis: UINT*
Array numC ukuran yang akan berisi ID kluster super.
-
NumSCs [in]
-
Jenis: UINT
Jumlah kluster super yang dialokasikan dalam D3DXSHPRTCompSuperCluster.
-
pInputIB [in]
-
Jenis: LPVOID
Buffer indeks mentah untuk jala. Format tergantung pada InputIBIs32Bit.
-
InputIBIs32Bit [in]
-
Jenis: BOOL
Jika TRUE, buffer indeks diatur ke 32 bit; jika tidak, 16 bit.
-
NumFaces [in]
-
Jenis: UINT
Jumlah wajah dalam jala asli (pInputIB adalah 3 kali panjang ini.)
-
ppIBData [masuk, keluar]
-
Jenis: LPD3DXBUFFER*
Buffer indeks mentah yang akan berisi wajah terpisah yang dihasilkan. Format ditentukan oleh InputIBIs32Bit. Dialokasikan berdasarkan fungsi.
-
pIBDataLength [masuk, keluar]
-
Jenis: UINT*
Panjang ppIBData, ditetapkan dalam fungsi.
-
OutputIBIs32Bit [masuk, keluar]
-
Jenis: BOOL
Jika TRUE, mengalokasikan array bilangan bulat yang tidak ditandatangani; jika tidak, mengalokasikan array pendek yang tidak ditandatangani.
-
ppFaceRemap [masuk, keluar]
-
Jenis: LPD3DXBUFFER*
Pemetaan setiap wajah di ppIBData ke wajah asli. Panjangnya adalah *pIBDataLength/3.
-
ppVertData [masuk, keluar]
-
Jenis: LPD3DXBUFFER*
Struktur data puncak baru. Ukuran pVertDataLength.
-
pVertDataLength [masuk, keluar]
-
Jenis: UINT*
Jumlah simpul baru dalam jala terpisah. Ditetapkan dalam fungsi.
-
pSClusterList [masuk, keluar]
-
Jenis: UINT*
Array Panjang NumC yang diindekspSCData ke dalam (bidang pClusterIDs*) untuk setiap superkluster, berisi kluster yang diurutkan menurut supercluster.
-
pSCData [masuk, keluar]
-
Jenis: D3DXSHPRTSPLITMESHCLUSTERDATA*
Struktur per kluster super. Berisi indeks ke dalam ppIBData, pSClusterList, dan ppVertData.
Nilai kembali
Jenis: HRESULT
Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan bisa menjadi salah satu dari yang berikut: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk