D3DXSHPRTCompSplitMeshSC-Funktion
Wird mit komprimierten Ergebnissen der Scheitelpunktversion des PRT-Simulators (Precomputed Radiance Transfer) verwendet. Nachdem D3DXSHPRTCompSuperCluster aufgerufen wurde, kann diese Funktion verwendet werden, um das Gitternetz in eine Gruppe von Gesichtern/Scheitelpunkten pro Supercluster aufzuteilen. Jeder Supercluster enthält alle Gesichter, die einen beliebigen Scheitelpunkt enthalten, der in einem seiner Cluster klassifiziert ist. Alle Scheitelpunkte, die mit dieser Gruppe von Gesichtern verbunden sind, sind auch im zurückgegebenen Array ppVertStatus enthalten, das angibt, ob der Scheitelpunkt zum Supercluster gehört.
Syntax
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]
-
Typ: UINT*
NumVertices-Cluster-IDs (aus einem komprimierten Puffer extrahiert)
-
NumVertices [ In]
-
Typ: UINT
Anzahl der Scheitelpunkte im ursprünglichen Gitternetz.
-
NumCs [ In]
-
Typ: UINT
Anzahl von Clustern (Eingabeparameter für Komprimierung))
-
pSClusterIDs [ In]
-
Typ: UINT*
Array von NumCs der Größe, die Supercluster-IDs enthalten.
-
NumSCs [ In]
-
Typ: UINT
Anzahl von Superclustern, die in D3DXSHPRTCompSuperClusterzugeordnet sind.
-
pInputIB [ In]
-
Typ: LPVOID
Rohindexpuffer für mesh. Das Format hängt von InputIBIs32Bit ab.
-
InputIBIs32Bit [ In]
-
Typ: BOOL
True gibt an, dass der Indexpuffer auf 32 Bit festgelegt ist. andernfalls 16 Bit.
-
NumFaces [ In]
-
Typ: UINT
Anzahl der Gesichter im ursprünglichen Gitternetz (pInputIB ist dreimal so lang.)
-
ppIBData [ in, out]
-
Typ: LPD3DXBUFFER*
Rohindexpuffer, der die resultierenden geteilten Gesichter enthält. Durch InputIBIs32Bit festgelegtes Format. Nach Funktion zugeordnet.
-
pIBDataLength [ in, out]
-
Typ: UINT*
Länge von ppIBData, zugewiesen in der Funktion.
-
OutputIBIs32Bit [ in, out]
-
Typ: BOOL
True gibt an, dass ein Ganzzahlarray ohne Vorzeichen zuordnet. andernfalls ordnet ein short-Array ohne Vorzeichen zu.
-
ppFaceRemap [ in, out]
-
Typ: LPD3DXBUFFER*
Zuordnung jedes Gesichts in ppIBData zu ursprünglichen Gesichtern. Die Länge ist * pIBDataLength/3.
-
ppVertData [ in, out]
-
Typ: LPD3DXBUFFER*
Neue Vertexdatenstruktur. Größe von pVertDataLength.
-
pVertDataLength [ in, out]
-
Typ: UINT*
Anzahl der neuen Scheitelpunkte im geteilten Gitternetz. In Funktion zugewiesen.
-
pSCClusterList [ in, out]
-
Typ: UINT*
Ein Array mit NumCs der Länge, in das pSCData für jeden Supercluster indiziert (pClusterIDs-Felder), * enthält Cluster, die nach Supercluster sortiert sind.
-
pSCData [ in, out]
-
Typ: D3DXSHPRTSPLITMESHCLUSTERDATA*
Struktur pro Supercluster. Enthält Indizes in ppIBData, pSCClusterList und ppVertData.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ausgeführt wird, lautet der Rückgabewert D3D _ OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR _ INVALIDCALL, D3DXERR _ INVALIDDATA, E _ OUTOFMEMORY.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|