Condividi tramite


Funzione D3DXSavePRTCompBufferToFile

Salva un buffer prT (Precomputed radiance Transfer) compresso su disco.

Sintassi

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

Parametri

pFileName [in]

Tipo: LPCSTR

Nome del file in cui salvare il buffer compresso.

pBuffer [in]

Tipo: LPD3DXPRTCOMPBUFFER

Indirizzo di un puntatore all'oggetto ID3DXPRTCompBuffer di input.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere D3DERR_INVALIDCALL.

Commenti

L'impostazione del compilatore determina anche la versione della funzione. Se Unicode è definito, la chiamata di funzione viene risolta in D3DXSavePRTCompBufferToFileW. In caso contrario, la chiamata di funzione viene risolta in D3DXSavePRTCompBufferToFileA.

Il formato di file PCA è un file binario sotto forma di intestazione e quindi due o tre blocchi di dati.

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

Per il caso di bIsTex diverso da zero, NumSamples deve essere uguale a TexWidth * TexHeight.

Il blocco di dati di base che segue l'intestazione è NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) byte.

Di seguito è riportato il blocco di dati PCA weights, ovvero NumPCA * NumSamples * sizeof(float) byte.

Se NumClusters è maggiore di 1, il file termina con il blocco di dati ID cluster di NumSamples * sizeof(UINT) byte.

Requisiti

Requisito Valore
Intestazione
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

Funzioni di trasferimento pre-calcolate