Příklad textury DDS
Pro nekomprimovanou texturu použijte DDSD_PITCH a DDPF_RGB příznaky; pro komprimovanou texturu použijte DDSD_LINEARSIZE a DDPF_FOURCC příznaky. Pro texturu mipmapped použijte DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP a DDSCAPS_COMPLEX příznaky také člena mipmap count. Pokud se vygenerují mapy mipmap, obvykle se zapisují všechny úrovně až 1 po 1.
U komprimované textury je velikost každého obrázku na úrovni mipmap obvykle jedna čtvrtá velikost předchozího obrázku s minimální velikostí 8 (DXT1) nebo 16 (DXT2-5) bajtů (pro čtvercové textury). K výpočtu velikosti jednotlivých úrovní pro nekvadrační texturu použijte následující vzorec:
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)
Tato tabulka uvádí množství místa potřebného pro každou vrstvu pro texturu 256-by-256 R8G8B8 bez použití komprese.
Komponenty DDS | # Bajty |
---|---|
záhlaví | 128 |
Hlavní obrázek 256 po 256 | 196608 |
128-by-128 mipmap image | 49152 |
Obrázek mapy 64 po 64 mipmap | 12288 |
Obrázek mapy 32 by-32 mipmap | 3072 |
Obrázek mapy 16 po 16 mipmap | 768 |
Obrázek mapy 8 po 8 mipmap | 192 |
Obrázek mapy 4 po 4 mipmap | 48 |
Obrázek mapy 2 po 2 mipmap | 12 |
Obrázek mapy 1 po 1 mipmap | 3 |
Tato tabulka uvádí množství místa, které každá vrstva zabírá pro stejnou texturu pomocí komprese (DXT1).
Komponenty DDS | # Bajty |
---|---|
záhlaví | 128 |
Hlavní obrázek 256 po 64 | 8192 |
Obrázek mapy 128 by-32 mipmap | 2048 |
Obrázek mapy 64 po 16 mipmap | 512 |
Obrázek mapy 32 by-8 mipmap | 128 |
Obrázek mapy 16:4 | 32 |
Obrázek mapy 8:2 | 16 |
Obrázek 4 po 1 mipmap | 8 |
Obrázek mapy 2 po 1 mipmap | 8 |
Obrázek mapy 1 po 1 mipmap | 8 |
Tato tabulka uvádí množství místa, které každá vrstva zabírá pro stejnou texturu, pomocí formátu komprese DXGI (v tomto případě BC3_UNORM), který proto vyžaduje rozšířené záhlaví:
Komponenty DDS | # Bajty |
---|---|
header (FourCC set to "DX10") | 128 |
rozšířené záhlaví (formát DXGI nastavený na DXGI_FORMAT_BC3_UNORM) | 20 |
Hlavní obrázek 256 po 64 | 16384 |
Obrázek mapy 128 by-32 mipmap | 4096 |
Obrázek mapy 64 po 16 mipmap | 1024 |
Obrázek mapy 32 by-8 mipmap | 256 |
Obrázek mapy 16:4 | 64 |
Obrázek mapy 8:2 | 32 |
Obrázek 4 po 1 mipmap | 16 |
Obrázek mapy 2 po 1 mipmap | 16 |
Obrázek mapy 1 po 1 mipmap | 16 |
Související témata
-
Průvodce programováním pro DDS