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) 调色板。 由于与调色板集关联的内存资源与应用程序引用的最大调色板数成正比,因此请使用从零开始的连续调色板编号。

基本纹理概念