Texturpaletten (Direct3D 9)

Direct3D 9 unterstützt Palettentexturen über einen Satz von 256 Eintragspaletten, die dem IDirect3DDevice9-Objekt zugeordnet sind. Eine Palette wird durch Aufrufen der IDirect3DDevice9::SetCurrentTexturePalette-Methode aktuell gemacht. Die aktuelle Palette wird zum Übersetzen aller Palettentexturen für alle aktiven Texturstufen verwendet. IDirect3DDevice9::SetPaletteEntries aktualisiert alle 256 Einträge einer Palette. Jeder Eintrag ist eine PALETTEENTRY-Struktur im Format D3DFMT _ A8R8G8B8. Alle Einträge werden standardmäßig 0xFFFFFFFF.

Die IDirect3DDevice9-Paletten enthalten einen Alphakanal. Dieser Alphakanal kann verwendet werden, wenn das D3DPTEXTURECAPS _ ALPHAPALETTE-Gerätefunktionsflag festgelegt ist, das angibt, dass das Gerät Alpha aus der Palette unterstützt. Der Paletten-Alphakanal wird verwendet, wenn das Texturformat keinen Alphakanal hat. Wenn das Gerät alpha aus der Palette nicht unterstützt und das Texturformat keinen Alphakanal hat, wird der Wert 0xFF für Alpha verwendet.

Es gibt maximal 65.536 Paletten (0x0000FFFF). Da speicherressourcen, die dem Satz von Paletten zugeordnet sind, proportional zur maximalen Palettennummer sind, auf die eine Anwendung verweist, verwenden Sie zusammenhängende Palettennummern ab 0 (null).

Grundlegende Texturkonzepte