Compartilhar via


Função D3DXSavePRTCompBufferToFile

Salva um buffer de PRT (transferência de radiação pré-compactada) compactada em disco.

Sintaxe

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

Parâmetros

pFileName [in]

Tipo: LPCSTR

Nome do arquivo no qual o buffer compactado deve ser salvo.

pBuffer [in]

Tipo: LPD3DXPRTCOMPBUFFER

Endereço de um ponteiro para o objeto ID3DXPRTCompBuffer de entrada.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.

Comentários

A configuração do compilador também determina a versão da função. Se Unicode for definido, a chamada de função será resolvida para D3DXSavePRTCompBufferToFileW. Caso contrário, a chamada de função será resolvida para D3DXSavePRTCompBufferToFileA.

O formato de arquivo PCA é um arquivo binário na forma de um cabeçalho e, em seguida, dois ou três blocos de dados.

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

Para o caso de bIsTex ser diferente de zero, NumSamples deve ser igual TexWidth * TexHeighta .

O bloco de dados de base que segue o cabeçalho é NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) bytes.

A seguir está o bloco de dados de pesos PCA, que é NumPCA * NumSamples * sizeof(float) bytes.

Se NumClusters for maior que 1, o arquivo terminará com o bloco de dados de bytes das IDs do NumSamples * sizeof(UINT) cluster.

Requisitos

Requisito Valor
parâmetro
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

Funções de transferência de radiação pré-compiladas