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 |
|
Bibliothèque |
|