Поделиться через


Палитры текстур (Direct3D 9)

Direct3D 9 поддерживает текстуры из 256 палитр, связанных с объектом IDirect3DDevice9 . Палитра становится текущей путем вызова метода IDirect3DDevice9::SetCurrentTexturePalette . Текущая палитра используется для перевода всех текстур с палитрой для всех активных этапов текстуры. IDirect3DDevice9::SetPaletteEntries обновляет все 256 записей палитры. Каждая запись представляет собой структуру PALETTEENTRY формата D3DFMT_A8R8G8B8. Все записи по умолчанию 0xFFFFFFFF.

Палитры IDirect3DDevice9 содержат альфа-канал. Этот альфа-канал можно использовать, если установлен флаг возможности D3DPTEXTURECAPS_ALPHAPALETTE устройства, указывающий, что устройство поддерживает альфа из палитры. Альфа-канал палитры используется, если формат текстуры не имеет альфа-канала. Если устройство не поддерживает альфа из палитры и формат текстуры не имеет альфа-канала, для альфа-канала используется значение 0xFF.

Существует не более 65 536 (0x0000FFFF) палитр. Так как ресурсы памяти, связанные с набором палитр, пропорциональны максимальному числу палитры, на которое ссылается приложение, используйте непрерывные номера палитры, начиная с нуля.

Основные понятия о форматировании