DDS-Texturbeispiel
Verwenden Sie für eine unkomprimierte Textur die DDSD _ PITCH- und DDPF _ RGB-Flags. 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 den Member mipmap count. Wenn Mipmaps generiert werden, werden in der Regel alle Ebenen bis 1 x 1 geschrieben.
Bei einer komprimierten Textur beträgt die Größe jedes Bilds auf Mipmapebene in der Regel ein Viertel der Größe des vorherigen Bilds 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 wird die Menge des Speicherplatzes aufgeführt, der von jeder Ebene für eine Textur von 256 X 256 R8G8B8 ohne Komprimierung verwendet wird.
| DDS-Komponenten | # Bytes |
|---|---|
| header | 128 |
| 256-by-256-Hauptbild | 196608 |
| 128 by-128 mipmap-Bild | 49152 |
| 64-by-64-mipmap-Bild | 12288 |
| 32-by-32-mipmap-Bild | 3072 |
| 16-by-16-mipmap-Bild | 768 |
| 8-by-8-Mipmap-Bild | 192 |
| 4-by-4-Mipmap-Bild | 48 |
| 2-by-2-Mipmap-Bild | 12 |
| 1-by-1-Mipmap-Bild | 3 |
In dieser Tabelle wird die Menge des Speicherplatzes aufgeführt, der von jeder Ebene für dieselbe Textur mithilfe der Komprimierung (DXT1) genutzt wird.
| DDS-Komponenten | # Bytes |
|---|---|
| header | 128 |
| 256 by-64-Hauptbild | 8192 |
| 128 by-32 mipmap-Bild | 2048 |
| 64-by-16 mipmap-Bild | 512 |
| 32-by-8-Mipmap-Bild | 128 |
| 16-by-4-Mipmap-Bild | 32 |
| 8-by-2-Mipmap-Bild | 16 |
| 4-by-1-Mipmap-Bild | 8 |
| 2-by-1-Mipmap-Bild | 8 |
| 1-by-1-Mipmap-Bild | 8 |
In dieser Tabelle wird die Menge des Speicherplatzes aufgeführt, der von jeder Ebene für dieselbe Textur mithilfe eines DXGI-Komprimierungsformats (in diesem Fall BC3 UNORM) benötigt wird _ und 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 |
| 256 by-64-Hauptbild | 16384 |
| 128 by-32 mipmap-Bild | 4096 |
| 64-by-16 mipmap-Bild | 1024 |
| 32-by-8-Mipmap-Bild | 256 |
| 16-by-4-Mipmap-Bild | 64 |
| 8-by-2-Mipmap-Bild | 32 |
| 4-by-1-Mipmap-Bild | 16 |
| 2-by-1-Mipmap-Bild | 16 |
| 1-by-1-Mipmap-Bild | 16 |