Поделиться через


Функция D3DXSavePRTCompBufferToFile

Сохраняет сжатый предварительно вычисляемый буфер передачи сияния (PRT) на диск.

Синтаксис

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

Параметры

pFileName [in]

Тип: LPCSTR

Имя файла, в который требуется сохранить сжатый буфер.

pBuffer [in]

Тип: LPD3DXPRTCOMPBUFFER

Адрес указателя на входной объект ID3DXPRTCompBuffer .

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращаемое значение можно D3DERR_INVALIDCALL.

Комментарии

Параметр компилятора также определяет версию функции. Если определен Юникод, вызов функции разрешается в D3DXSavePRTCompBufferToFileW. В противном случае вызов функции разрешается в D3DXSavePRTCompBufferToFileA.

Формат файла PCA — это двоичный файл в виде заголовка, а затем двух или трех блоков данных.

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

Если значение bIsTex не равно нулю, NumSamples должно быть равно TexWidth * TexHeight.

Базовый блок данных, следующий за заголовком, — NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) байты.

Ниже приведен блок данных весовых коэффициентов PCA, который равен NumPCA * NumSamples * sizeof(float) байтам.

Если значение NumClusters больше 1, файл заканчивается блоком данных идентификаторов кластера из NumSamples * sizeof(UINT) байтов.

Требования

Требование Значение
Заголовок
D3DX9Mesh.h
Библиотека
D3dx9.lib

См. также раздел

Предварительно вычисляемые функции передачи radiance