紋理調色盤 (Direct3D 9)

Direct3D 9 透過一組與 IDirect3DDevice9 物件相關聯的 256 個專案調色盤支援調色盤紋理。 調色盤是藉由呼叫 IDirect3DDevice9::SetCurrentTexturePalette 方法進行目前的。 目前的調色盤用於轉譯所有使用中紋理階段的所有調色盤紋理。 IDirect3DDevice9::SetPaletteEntries 會更新調色盤的所有 256 個專案。 每個專案都是格式D3DFMT_A8R8G8B8 的 PALETTEENTRY 結構。 所有專案預設為 0xFFFFFFFF。

IDirect3DDevice9調色盤包含 Alpha 色板。 當設定D3DPTEXTURECAPS_ALPHAPALETTE裝置功能旗標時,可以使用這個 Alpha 色板,表示裝置支援調色盤中的 Alpha。 當紋理格式沒有 Alpha 色板時,會使用調色盤 Alpha 色板。 如果裝置不支援調色盤中的 Alpha,且紋理格式沒有 Alpha 色板,則會使用 0xFF 的值用於 Alpha。

調色盤最多有 65,536 個 (0x0000FFFF) 。 因為與一組調色盤相關聯的記憶體資源會與應用程式參考的最大調色盤編號成正比,所以使用從零開始的連續調色盤編號。

基本紋理概念