Freigeben über


Beispiel für eine DDS-Volumetextur

Verwenden Sie für eine Volumetextur die DDSCAPS_COMPLEX, DDSCAPS2_VOLUMEund DDSD_DEPTH Flags, 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 jedes Tiefensegment in die Datei geschrieben. Wenn Mipmaps enthalten sind, werden alle Tiefensegmente für eine bestimmte Mipmap-Ebene zusammengeschrieben, wobei jede Ebene halb so viele Segmente wie die vorherige Ebene mit mindestens 1 enthält.

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

DDS-Komponenten # Bytes
Kopfball 128 Bytes
64 x 64 Segment 1 von 4 Hauptbild. 12288 Bytes
64 x 64 Segment 2 von 4 Hauptbild. 12288 Bytes
64 x 64 Segment 3 von 4 Hauptbild. 12288 Bytes
64 x 64 Segment 4 von 4 Hauptbild. 12288 Bytes
32:32 Segment 1 von 2 mipmap-Bild. 3072 Bytes
32:32 Segment 2 von 2 mipmap-Bild. 3072 Bytes
16:16 Segment 1 von 1 mipmap-Bild. 768 Bytes
8:8 Segment 1 von 1 mipmap-Bild. 192 Bytes
4:4 Segment 1 von 1 mipmap-Bild. 48 Bytes
2:2 Segment 1 von 1 mipmap-Bild. 12 Byte
1:1 Segment 1 von 1 mipmap-Bild. 3 Byte

 

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

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

Programmierhandbuch für DDS-