Функция 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)
байтов.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|