Texturpaletten (Direct3D 9)

Direct3D 9 unterstützt palettenierte Texturen über eine Reihe von 256 Einstiegspaletten, die dem IDirect3DDevice9-Objekt zugeordnet sind. Eine Palette wird durch Aufrufen der IDirect3DDevice9::SetCurrentTexturePalette-Methode aktuell gemacht. Die aktuelle Palette wird verwendet, um alle palettenierten Texturen für alle aktiven Texturphasen zu übersetzen. IDirect3DDevice9::SetPaletteEntries aktualisiert alle 256 Einträge einer Palette. Jeder Eintrag ist eine PALETTEENTRY-Struktur des Formats D3DFMT_A8R8G8B8. Alle Einträge sind standardmäßig 0xFFFFFFFF.

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

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

Grundlegende Texturierungskonzepte