Microsoft DirectX 8.0 (Visual Basic)

テクスチャ パレット

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

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

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