D3DXSavePRTCompBufferToFile-Funktion
Speichert einen komprimierten PRT-Puffer (Precomputed Radiance Transfer) auf dem Datenträger.
Syntax
HRESULT D3DXSavePRTCompBufferToFile(
_In_ LPCSTR pFileName,
_In_ LPD3DXPRTCOMPBUFFER pBuffer
);
Parameter
pFileName [in]
Typ: LPCSTR
Name der Datei, in der der komprimierte Puffer gespeichert werden soll.
pBuffer [in]
Typ: LPD3DXPRTCOMPBUFFER
Adresse eines Zeigers auf das Id3DXPRTCompBuffer-Objekt .
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden.
Bemerkungen
Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXSavePRTCompBufferToFileW aufgelöst. Andernfalls wird der Funktionsaufruf in D3DXSavePRTCompBufferToFileA aufgelöst.
Das PCA-Dateiformat ist eine Binärdatei in Form eines Headers und dann zwei oder drei Datenblöcke.
struct PRTCompressHeader
{
UINT NumSamples;
UINT NumCoeffs;
UINT NumChannels;
UINT TexWidth;
UINT TexHeight;
UINT bIsTex;
UINT NumClusters;
UINT NumPCA;
};
Für den Fall, dass bIsTex ungleich 0 ist, sollte NumSamples gleich TexWidth * TexHeight
sein.
Der Basisdatenblock, der auf den Header folgt, ist NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float)
Byte.
Danach folgt der PCA-Gewichtungsdatenblock, der Bytes ist NumPCA * NumSamples * sizeof(float)
.
Wenn NumClusters größer als 1 ist, endet die Datei mit dem Cluster-IDs-Datenblock von NumSamples * sizeof(UINT)
Bytes.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|