Compartir a través de


Función D3DXSavePRTCompBufferToFile

Guarda un búfer comprimido de transferencia de radiancia (PRT) comprimido en el disco.

Sintaxis

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

Parámetros

pFileName [in]

Tipo: LPCSTR

Nombre del archivo en el que se va a guardar el búfer comprimido.

pBuffer [in]

Tipo: LPD3DXPRTCOMPBUFFER

Dirección de un puntero al objeto ID3DXPRTCompBuffer de entrada.

Valor devuelto

Tipo: HRESULT

Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto se puede D3DERR_INVALIDCALL.

Observaciones

La configuración del compilador también determina la versión de la función. Si se define Unicode, la llamada de función se resuelve en D3DXSavePRTCompBufferToFileW. De lo contrario, la llamada de función se resuelve en D3DXSavePRTCompBufferToFileA.

El formato de archivo PCA es un archivo binario en forma de encabezado y, a continuación, dos o tres bloques de datos.

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

Para el caso de que bIsTex no sea cero, NumSamples debe ser igual a TexWidth * TexHeight.

El bloque de datos base que sigue al encabezado es NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) bytes.

A continuación, se muestra el bloque de datos PCA, que es NumPCA * NumSamples * sizeof(float) bytes.

Si NumClusters es mayor que 1, el archivo termina con el bloque de datos identificadores de clúster de NumSamples * sizeof(UINT) bytes.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Vea también

Funciones de transferencia radiance precaladas