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 * TexHeightsein.

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

Siehe auch

Vorberechnete Radianzübertragungsfunktionen