Exempel på DDS-struktur
Använd flaggorna DDSD_PITCH och DDPF_RGB för en icke-komprimerad textur. använd flaggorna DDSD_LINEARSIZE och DDPF_FOURCC för en komprimerad textur. För en mipmapped-struktur använder du DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP och DDSCAPS_COMPLEX flaggor samt mipmap count-medlemmen. Om mipmaps genereras skrivs vanligtvis alla nivåer ned till 1 efter 1.
För en komprimerad textur är storleken på varje mipmap-nivåbild vanligtvis en fjärdedel av storleken på den föregående, med minst 8 (DXT1) eller 16 (DXT2-5) byte (för kvadratiska texturer). Använd följande formel för att beräkna storleken på varje nivå för en icke-kvadratisk struktur:
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)
Den här tabellen visar mängden utrymme som tas upp av varje lager för en textur på 256 x 256 R8G8B8 utan att använda komprimering.
DDS-komponenter | # Byte |
---|---|
rubrik | 128 |
256 x 256 huvudbild | 196608 |
Bild på 128 av 128 mipmap | 49152 |
Bild av 64 x 64 mipmap | 12288 |
Bild av 32 x 32 mipmap | 3072 |
Bild av 16 x 16 mipmap | 768 |
Bild av 8 av 8 mipmap | 192 |
Bild med 4 av 4 mipmap | 48 |
Bild med 2 av 2 mipmap | 12 |
Bild med 1 av 1 mipmap | 3 |
Den här tabellen visar mängden utrymme som tas upp av varje lager för samma struktur med hjälp av komprimering (DXT1).
DDS-komponenter | # Byte |
---|---|
rubrik | 128 |
256 x 64 huvudbild | 8192 |
Bild av 128 x 32 mipmap | 2048 |
Bild av 64 x 16 mipmap | 512 |
Bild av 32 x 8 mipmap | 128 |
Bild med 16 x 4 mipmap | 32 |
Bild med 8 av 2 mipmap | 16 |
Bild av 4 av 1 mipmap | 8 |
Bild med 2 av 1 mipmap | 8 |
Bild med 1 av 1 mipmap | 8 |
Den här tabellen visar mängden utrymme som tas upp av varje lager för samma struktur med hjälp av ett DXGI-komprimeringsformat (i det här fallet BC3_UNORM) som därför kräver den utökade rubriken:
DDS-komponenter | # Byte |
---|---|
header (FourCC inställd på "DX10") | 128 |
extended header (DXGI-format inställt på DXGI_FORMAT_BC3_UNORM) | 20 |
256 x 64 huvudbild | 16384 |
Bild av 128 x 32 mipmap | 4096 |
Bild av 64 x 16 mipmap | 1024 |
Bild av 32 x 8 mipmap | 256 |
Bild med 16 x 4 mipmap | 64 |
Bild med 8 av 2 mipmap | 32 |
Bild av 4 av 1 mipmap | 16 |
Bild med 2 av 1 mipmap | 16 |
Bild med 1 av 1 mipmap | 16 |
Relaterade ämnen