Sdílet prostřednictvím


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

 

Průvodce programováním pro DDS