Beispiel für DDS-Volumetextur

Verwenden Sie für eine Volumetextur die Flags DDSCAPS_COMPLEX, DDSCAPS2_VOLUME und DDSD_DEPTH, und legen Sie dwDepth fest. Eine Volumentextur ist eine Erweiterung einer Standardtextur für Direct3D 9; Eine Volumetextur kann mit oder ohne Mipmaps definiert werden.

Für Volumes ohne Mipmaps wird jeder Tiefenslice in der reihenfolge in die Datei geschrieben. Wenn Mipmaps enthalten sind, werden alle Tiefenslices für eine bestimmte mipmap-Ebene zusammen geschrieben, wobei jede Ebene halb so viele Slices enthält wie die vorherige Ebene mit mindestens 1.

Beispielsweise würde eine Volumezuordnung von 64 x 64 x 4 im Pixelformat R8G8B8 (3 Bytes pro Pixel) mit allen Mipmap-Ebenen Folgendes enthalten:

DDS-Komponenten # Bytes
header 128 Bytes
64 x 64 Slice 1 von 4 Standard Bild. 12288 Bytes
64 x 64 Slice 2 von 4 Standard Bild. 12288 Bytes
64 x 64 Slice 3 von 4 Standard Bild. 12288 Bytes
64 x 64 Slice 4 von 4 Standard Bild. 12288 Bytes
32 x 32 Slice 1 von 2 mipmap-Bild. 3072 Bytes
32 x 32 Slice 2 von 2 mipmap-Bild. 3072 Bytes
16 x 16 Slice 1 von 1 mipmap-Bild. 768 Bytes
8 x 8 Slice 1 von 1 Mipmap-Bild. 192 Bytes
4 x 4 Slice 1 von 1 Mipmap-Bild. 48 Bytes
2-mal-2-Segment 1 von 1 Mipmap-Bild. 12 Bytes
1-mal-1 Slice 1 von 1 Mipmap-Bild. 3 Byte

 

Beachten Sie, dass die kleinste mipmap-Ebene nur 3 Bytes beträgt, da die Bitanzahl 24 beträgt und auf dieser Ebene keine zusätzliche Komprimierung erfolgt.

Unterstützung für Volumentexturen wurde in DirectX 8 hinzugefügt.

Programmierhandbuch für DDS