D3DXSavePRTCompBufferToFile 関数

圧縮された事前計算済み放射転送 (PRT) バッファーをディスクに保存します。

構文

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

パラメーター

pFileName [in]

種類: LPCSTR

圧縮バッファーの保存先となるファイルの名前。

pBuffer [in]

種類: LPD3DXPRTCOMPBUFFER

入力 ID3DXPRTCompBuffer オブジェクトへのポインターのアドレス。

戻り値

種類: HRESULT

メソッドが成功した場合、戻り値は D3D_OK。 メソッドが失敗した場合は、戻り値を D3DERR_INVALIDCALLできます。

解説

コンパイラ設定によって、関数のバージョンも決定されます。 Unicode が定義されている場合、関数呼び出しは D3DXSavePRTCompBufferToFileW に解決されます。 それ以外の場合、関数呼び出しは D3DXSavePRTCompBufferToFileA に解決されます。

PCA ファイル形式は、ヘッダーと 2 つまたは 3 つのデータ ブロックの形式のバイナリ ファイルです。

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

bIsTex が 0 以外の場合、NumSamples は と等しいTexWidth * TexHeight必要があります。

ヘッダーの後に続く基礎データ ブロックは NumCoeffs * NumChannels * (NumPCA + 1) * NumClusters * sizeof(float) バイトです。

次に、PCA 重み付けデータ ブロック (バイト) を示 NumPCA * NumSamples * sizeof(float) します。

NumClusters が 1 より大きい場合、ファイルはクラスター ID データ ブロック (NumSamples * sizeof(UINT)バイト) で終わります。

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

関連項目

事前計算済みの放射転送関数