Funzione D3DXSHPRTCompSplitMeshSC
Usato con risultati compressi della versione del vertice del simulatore di radianza precomputto (PRT). Dopo aver chiamato D3DXSHPRTCompSuperCluster , questa funzione può essere usata per suddividere la mesh in un gruppo di visi/vertici per ogni cluster. Ogni cluster super contiene tutti i visi che contengono qualsiasi vertice classificato in uno dei relativi cluster. Tutti i vertici connessi a questo set di visi sono inclusi anche con la matrice restituita ppVertStatus che indica se il vertice appartiene al cluster super.
Sintassi
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
);
Parametri
-
pClusterIDs [in]
-
Tipo: UINT*
ID cluster NumVertices (estratto da un buffer compresso).
-
NumVertices [in]
-
Tipo: UINT
Numero di vertici in mesh originale.
-
NumCs [in]
-
Tipo: UINT
Numero di cluster (parametro di input da compressione).
-
pSClusterIDs [in]
-
Tipo: UINT*
Matrice di numeri di dimensioni che conterrà ID cluster avanzati.
-
NumSCs [in]
-
Tipo: UINT
Numero di cluster super allocati in D3DXSHPRTCompSuperCluster.
-
pInputIB [in]
-
Tipo: LPVOID
Buffer di indice non elaborato per mesh. Il formato dipende da InputIBIs32Bit.
-
InputIBIs32Bit [in]
-
Tipo: BOOL
Se TRUE, il buffer di indice è impostato su 32 bit; in caso contrario, 16 bit.
-
NumFaces [in]
-
Tipo: UINT
Numero di visi nella mesh originale (pInputIB è 3 volte questa lunghezza).
-
ppIBData [in, out]
-
Tipo: LPD3DXBUFFER*
Buffer di indice non elaborato che conterrà le facce suddivise risultanti. Formato determinato da InputIBIs32Bit. Allocato dalla funzione.
-
pIBDataLength [in, out]
-
Tipo: UINT*
Lunghezza di ppIBData, assegnata nella funzione.
-
OutputIBIs32Bit [in, out]
-
Tipo: BOOL
Se TRUE, alloca una matrice integer senza segno; in caso contrario, alloca una matrice breve senza segno.
-
ppFaceRemap [in, out]
-
Tipo: LPD3DXBUFFER*
Mapping di ogni viso in ppIBData ai visi originali. La lunghezza è *pIBDataLength/3.
-
ppVertData [in, out]
-
Tipo: LPD3DXBUFFER*
Nuova struttura dei dati dei vertici. Dimensioni di pVertDataLength.
-
pVertDataLength [in, out]
-
Tipo: UINT*
Numero di nuovi vertici in mesh diviso. Assegnato nella funzione.
-
pSCClusterList [in, out]
-
Tipo: UINT*
Matrice di numeri di lunghezza che pSCData indicizza in (campi pClusterIDs*) per ogni supercluster, contiene cluster ordinati per supercluster.
-
pSCData [in, out]
-
Tipo: D3DXSHPRTSPLITMESHCLUSTERDATA*
Struttura per cluster super. Contiene indici in ppIBData, pSCClusterList e ppVertData.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, il valore restituito è D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche