Partager via


Fonction D3DXSavePRTCompBufferToFile

Enregistre une mémoire tampon de transfert de rayonnement précalculée (PRT) compressée sur le disque.

Syntaxe

HRESULT D3DXSavePRTCompBufferToFile(
  _In_ LPCSTR              pFileName,
  _In_ LPD3DXPRTCOMPBUFFER pBuffer
);

Paramètres

pFileName [in]

Type : LPCSTR

Nom du fichier dans lequel la mémoire tampon compressée doit être enregistrée.

pBuffer [in]

Type : LPD3DXPRTCOMPBUFFER

Adresse d’un pointeur vers l’objet ID3DXPRTCompBuffer d’entrée .

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Notes

Le paramètre du compilateur détermine également la version de la fonction. Si Unicode est défini, l’appel de fonction est résolu en D3DXSavePRTCompBufferToFileW. Sinon, l’appel de fonction est résolu en D3DXSavePRTCompBufferToFileA.

Le format de fichier PCA est un fichier binaire sous la forme d’un en-tête, puis de deux ou trois blocs de données.

struct PRTCompressHeader
{
    UINT NumSamples;
    UINT NumCoeffs;
    UINT NumChannels;
    UINT TexWidth;
    UINT TexHeight;
    UINT bIsTex;
    UINT NumClusters;
    UINT NumPCA;
};

Dans le cas où bIsTex est différent de zéro, NumSamples doit être égal à TexWidth * TexHeight.

Le bloc de données de base qui suit l’en-tête est NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) octets.

Voici le bloc de données de pondération pcA, qui est NumPCA * NumSamples * sizeof(float) octets.

Si NumClusters est supérieur à 1, le fichier se termine par le bloc de données d’ID de cluster d’octets NumSamples * sizeof(UINT) .

Spécifications

Condition requise Valeur
En-tête
D3DX9Mesh.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions de transfert de radiance précalculées