D3DXSavePRTCompBufferToFile-Funktion

Speichert einen komprimierten PRT-Puffer (Precomputed Radiance Transfer) auf den 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 Eingabeobjekt ID3DXPRTCompBuffer.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, ist der Rückgabewert D3D _ OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR _ INVALIDCALL sein.

Hinweise

Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXSavePRTCompBufferToFileW auflösen. Andernfalls wird der Funktionsaufruf in D3DXSavePRTCompBufferToFileA auflösen.

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;
};

Wenn bIsTex nicht 0 (null) ist, sollte NumSamples gleich TexWidth * TexHeight sein.

Der Basisdatenblock, der dem Header folgt, ist NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) bytes.

Im Anschluss folgt der PCA-Gewichtungsdatenblock, der Bytes NumPCA * NumSamples * sizeof(float) ist.

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

Vorausberechnungsfunktionen für die Übertragung von Radiance