DDS-Texturbeispiel

Verwenden Sie für eine unkomprimierte Textur die Flags DDSD_PITCH und DDPF_RGB. Verwenden Sie für eine komprimierte Textur die flags DDSD_LINEARSIZE und DDPF_FOURCC. Verwenden Sie für eine mipmapped-Textur die Flags DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP und DDSCAPS_COMPLEX sowie das mipmap count-Element. Wenn Mipmaps generiert werden, werden in der Regel alle Ebenen bis hin zu 1-by-1 geschrieben.

Bei einer komprimierten Textur beträgt die Größe jedes Mipmap-Bilds in der Regel ein Viertel der Größe des vorherigen, mit mindestens 8 (DXT1) oder 16 (DXT2-5) Bytes (für quadratische Texturen). Verwenden Sie die folgende Formel, um die Größe jeder Ebene für eine nicht quadratische Textur zu berechnen:

max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)

In dieser Tabelle ist der Speicherplatz aufgeführt, der von jeder Ebene für eine 256 x 256 R8G8B8-Textur ohne Komprimierung belegt wird.

DDS-Komponenten # Bytes
header 128
256-mal-256-Standard-Bild 196608
128-mal-128-mipmap-Bild 49152
64-mal-64-mipmap-Bild 12288
32-mal-32-mipmap-Bild 3072
16-mal-16-mipmap-Bild 768
8-mal-8-mipmap-Bild 192
4-mal-4-mipmap-Bild 48
2-mal-2-mipmap-Bild 12
1-mal-1-mipmap-Bild 3

 

In dieser Tabelle ist der Speicherplatz aufgeführt, der von jeder Ebene für dieselbe Textur mithilfe der Komprimierung (DXT1) belegt wird.

DDS-Komponenten # Bytes
header 128
Bild mit 256 x 64 Standard 8192
128-mal-32-mipmap-Bild 2048
64-mal-16-mipmap-Bild 512
32-mal-8-mipmap-Bild 128
16-mal-4-mipmap-Bild 32
8-mal-2-mipmap-Bild 16
4-mal-1-mipmap-Bild 8
2-mal-1-mipmap-Bild 8
1-mal-1-mipmap-Bild 8

 

In dieser Tabelle wird der Speicherplatz aufgelistet, der von jeder Ebene für dieselbe Textur belegt wird, wobei ein DXGI-Komprimierungsformat verwendet wird (in diesem Fall BC3_UNORM), das daher den erweiterten Header erfordert:

DDS-Komponenten # Bytes
Header (FourCC auf "DX10" festgelegt) 128
Erweiterter Header (DXGI-Format auf DXGI_FORMAT_BC3_UNORM festgelegt) 20
Bild mit 256 x 64 Standard 16384
128-mal-32-mipmap-Bild 4096
64-mal-16-mipmap-Bild 1024
32-mal-8-mipmap-Bild 256
16-mal-4-mipmap-Bild 64
8-mal-2-mipmap-Bild 32
4-mal-1-mipmap-Bild 16
2-mal-1-mipmap-Bild 16
1-mal-1-mipmap-Bild 16

 

Programmierhandbuch für DDS