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.
Zugehörige Themen