D3DXSHPRTCompSplitMeshSC-Funktion
Wird mit komprimierten Ergebnissen der Vertexversion des vorberechneten PRT-Simulators (Radiance Transfer) verwendet. Nachdem D3DXSHPRTCompSuperCluster aufgerufen wurde, kann diese Funktion verwendet werden, um das Gitter 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 mit dieser Gruppe von Gesichtern verbundenen Scheitelpunkte sind auch im zurückgegebenen Array ppVertStatus enthalten, das angibt, ob der Scheitelpunkt zum Supercluster gehört oder nicht.
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 (extrahiert aus einem komprimierten Puffer).)
-
NumVertices [in]
-
Typ: UINT
Anzahl der Scheitelpunkte im ursprünglichen Gitter.
-
NumCs [in]
-
Typ: UINT
Anzahl von Clustern (Eingabeparameter zur Komprimierung.)
-
pSClusterIDs [in]
-
Typ: UINT*
Array der Größe NumCs , die Supercluster-IDs enthalten.
-
NumSCs [in]
-
Typ: UINT
Anzahl der In D3DXSHPRTCompSuperCluster zugeordneten Supercluster.
-
pInputIB [in]
-
Typ: LPVOID
Roher Indexpuffer für Gitter. Das Format hängt von InputIBIs32Bit ab.
-
InputIBIs32Bit [in]
-
Typ: BOOL
Bei TRUE ist der Indexpuffer auf 32 Bit festgelegt. andernfalls 16 Bit.
-
NumFaces [in]
-
Typ: UINT
Anzahl der Gesichter im ursprünglichen Gitter (pInputIB ist 3-mal so lang.)
-
ppIBData [in, out]
-
Typ: LPD3DXBUFFER*
Unformatierter Indexpuffer, der die resultierenden geteilten Flächen enthält. Format, das durch InputIBIs32Bit bestimmt wird. Zugeordnet nach Funktion.
-
pIBDataLength [in, out]
-
Typ: UINT*
Länge von ppIBData, zugewiesen in der Funktion.
-
OutputIBIs32Bit [in, out]
-
Typ: BOOL
Wenn TRUE, ordnet ein ganzzahliges Array ohne Vorzeichen zu. Andernfalls ordnet ein unsigniertes Short-Array zu.
-
ppFaceRemap [in, out]
-
Typ: LPD3DXBUFFER*
Zuordnung jedes Gesichts in ppIBData zu originalen Gesichtern. Die Länge ist *pIBDataLength/3.
-
ppVertData [ein, aus]
-
Typ: LPD3DXBUFFER*
Neue Scheitelpunktdatenstruktur. Größe von pVertDataLength.
-
pVertDataLength [in, out]
-
Typ: UINT*
Anzahl der neuen Scheitelpunkte in geteiltem Gitter. In -Funktion zugewiesen.
-
pSCClusterList [ein, aus]
-
Typ: UINT*
Array der Länge NumCs , die pSCData in (pClusterIDs*-Felder) für jeden Supercluster indiziert, enthält Nach Supercluster sortierte Cluster.
-
pSCData [ein, aus]
-
Typ: D3DXSHPRTSPLITMESHCLUSTERDATA*
Struktur pro Supercluster. Enthält Indizes in ppIBData, pSCClusterList und ppVertData.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch