Exempel på DDS-kubkarta
För kubikmiljökartor kan en eller flera sidor av en kub skrivas till filen i antingen okomprimerade eller komprimerade format, och alla sidor måste vara av samma storlek. Varje ansikte kan ha mipmaps definierade, även om alla ansikten måste ha samma antal mipmap-nivåer. Om en fil innehåller en kubkarta ska DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP och en eller flera DSCAPS2_CUBEMAP_POSITIVEX/Y/Z och/eller DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z anges. Ansiktena skrivs i ordningen: positiv x, negativ x, positiv y, negativ y, positiv z, negativ z, med eventuella saknade ansikten utelämnade. Varje ansikte skrivs med sin huvudbild, följt av tillhörande mipmap-nivåer.
Till exempel skulle en 256 x 256 kubkarta med positiva x, negativa y- och positiva z-ansikten, ett pixelformat av DXT1 och alla mipmap-nivåer innehålla följande:
DDS-komponenter | # Byte |
---|---|
rubrik | 128 |
256 gånger 256 positiv x-axel huvudbild | 32768 |
128 x 128 positiv x mipmap-bild | 8192 |
64 x 64 positiv mipmap-bild | 2048 |
32 gånger 32 positiv X mipmap-bild | 512 |
16 x 16 positiv x mipmap-bild | 128 |
8 gånger 8 positiv x mipmap-bild | 32 |
4 x 4 positiv x mipmap-bild | 8 |
2 gånger 2 pixlar stor positiv mipmapbild | 8 |
1 x 1 positiv x mipmap-bild | 8 |
upprepa de föregående 9 lagren för y mipmap-bilden | 43704 |
upprepa de tidigare 9 lagren för z mipmap-bilden | 43704 |
Från och med DirectX 8 lagras en kubkarta med alla ansikten definierade.
DXGI-kubkartor
Kubikmiljökartor i Direct3D 10.x och Direct3D 11 motsvarar en 2D-strukturmatris med 6 bilder och kan lagras i DDS-filer som sådana. Med Direct3D 10.1 och Direct3D 11 kan maskinvaran också stödja matriser med kubkartor som själva är 2D-strukturmatriser med flera av 6 bilder (6, 12, 18, 24 osv.).
Här är till exempel en 256 x 256 kubkarta med mipmap-nivåer lagrade i ett BC6H-format som en 2D-strukturmatris:
DDS-komponenter | # Byte |
---|---|
header (FourCC av "DX10") | 128 |
extended header (DXGI format set to 95 [DXGI_FORMAT_BC6H_UF16], dimensionens värde av 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], arraystorleken 1, diverse flaggor 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) | 20 |
256 × 256 matriselement 0 (positiv x) huvudbild | 65536 |
128 x 128 array-element 0 (positivt x) mipmap-bild | 16384 |
64 x 64 fält 0 (positivt x) mipmap-bild | 4096 |
32 x 32 matrispost 0 (positiv x) mipmap-bild | 1024 |
16 x 16 matrispost 0 (positiv x) mipmap-bild | 256 |
8 x 8 matriselement 0 (positiv x-axel) mipmap-bild | 64 |
4 gånger 4 matrispost 0 (positiv x) mipmap-bild | 16 |
2x2-fältselement 0 (positivt x-värde) mipmap-bild | 16 |
1 x 1 matriselement 0 (positiv x) mipmap-bild | 16 |
upprepa de tidigare 9 lagren för matrispost 1 (negativ x) mipmap-bild | 87408 |
Upprepa de tidigare 9 lagren för matrisinträde 2 (positiv y) mipmap-bild. | 87408 |
upprepa föregående 9 lager för matrispost 3 (negativ y) mipmap-bild | 87408 |
upprepa de tidigare 9 lagren för matrispost 4 (positiv z) mipmap-bild | 87408 |
upprepa föregående 9 lager för matrispost 5 (negativ z) mipmap-bild | 87408 |
Relaterade ämnen