Microsoft DirectX 8.0 (C++)

テクスチャ パレット

Microsoft® Direct3D® for Microsoft DirectX® 8.0 は、IDirect3DDevice8 オブジェクトに関連付けられた 256 エントリのパレット セットによるパレット テクスチャをサポートする。パレットをカレントにするには、IDirect3DDevice8::SetCurrentTexturePalette メソッドを呼び出す。カレント パレットは、すべてのアクティブ テクスチャ ステージのすべてのパレット テクスチャに使用される。IDirect3DDevice8::SetPaletteEntries は、パレットの 256 エントリをすべて更新する。各エントリは、フォーマット D3DFMT_A8R8G8B8 の PALETTEENTRY 構造体である。すべてのエントリはデフォルトで 0xFFFFFFFF に設定される。DirectX 8.0 の時点では、PALLETTEENTRY 構造体の peFlags メンバは、Microsoft Platform Software Development Kit (SDK) で説明されているようには動作しないことに注意すること。peFlags メンバは今後、8 ビットのパレット化されたフォーマットのアルファ チャネルである。

IDirect3DDevice8 パレットは、アルファ チャネルを含む。このアルファ チャネルは、デバイスがパレットからのアルファ チャネルをサポートすることを示す D3DPTEXTURECAPS_ALPHAPALETTE デバイス能力フラグが設定されているときに使用できる。パレット アルファ チャネルは、テクスチャ フォーマットにアルファ チャネルがない場合に使用する。デバイスがパレットからのアルファをサポートせず、テクスチャ フォーマットにアルファ チャネルがない場合は、0xFF の値がアルファに使用される。

最大で 16,384 のパレットがある。パレット セットに関連付けられるメモリ リソースは、アプリケーションが参照するパレットの最大数に比例するため、パレット番号には、ゼロから始まる連続する数を使用しなければならない。