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
D3DX9Mesh.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi Transfer Radiasi yang Telah Dikomputasi