Udostępnij za pośrednictwem


Przykład mapy sześciennej DDS

W przypadku map środowiskowych sześciennych co najmniej jedna ściana sześcianu jest zapisywana w pliku przy użyciu formatów nieskompresowanych lub skompresowanych, a wszystkie ściany muszą mieć taki sam rozmiar. Każda twarz może mieć zdefiniowane mipmapy, chociaż wszystkie twarze muszą mieć taką samą liczbę poziomów mipmap. Jeśli plik zawiera mapę sześcienną, należy ustawić DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP i co najmniej jedną z DSCAPS2_CUBEMAP_POSITIVEX/Y/Z i/lub DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z. Twarze są zapisywane w kolejności: dodatnie x, ujemne x, dodatnie y, ujemne y, dodatnie z, ujemne z, z z pominiętymi brakującymi twarzami. Każda twarz jest zapisywana przy użyciu głównego obrazu, a następnie dowolnych poziomów mipmap.

Na przykład mapa sześcienna 256 na 256 z dodatnimi ścianami dla osi x, ujemnymi dla osi y i dodatnimi dla osi z, w formacie pikseli DXT1, ze wszystkimi poziomami mipmap, zawiera następujące elementy:

Składniki DDS Liczba bajtów
nagłówek 128
256-by-256 dodatni x obraz główny 32768
128 x 128 pozytywny obraz mipmap x 8192
Obraz mipmap 64 na 64 dla osi dodatniej x 2048
32-by-32 dodatni obraz mipmap x 512
16-by-16 dodatni obraz mipmap x 128
Obraz mipmap 8-by-8 o dodatnich współrzędnych x 32
4 na 4 dodatni obraz mipmap na osi x 8
Mipmapowy obraz 2 na 2 o dodatniej osi x 8
1-by-1 dodatni obraz mipmap x 8
powtórz poprzednie 9 warstw dla obrazu mipmap Y 43704
powtórz poprzednie 9 warstw dla obrazu mipmap z 43704

 

Począwszy od DirectX 8, mapa sześcienna jest przechowywana ze wszystkimi zdefiniowanymi ścianami.

Mapy sześcienne DXGI

Mapy środowiska sześciennego w 10.x i Direct3D 11 są równoważne tablicy tekstur 2D z 6 obrazami i mogą być przechowywane w plikach DDS. Dzięki funkcjom Direct3D 10.1 i Direct3D 11 sprzęt może również obsługiwać tablice map sześciennych, które same w sobie są tablicami tekstur 2D zawierającymi wielokrotność 6 obrazów (6, 12, 18, 24 itd.).

Na przykład poniżej przedstawiono cubemap 256 na 256 z poziomami mipmap przechowywanymi w formacie BC6H jako tablica tekstury 2D.

Składniki DDS Liczba bajtów
nagłówek (FourCC z "DX10") 128
rozszerzony nagłówek (format DXGI ustawiony na 95 [DXGI_FORMAT_BC6H_UF16], wartość wymiaru 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], rozmiar tablicy 1, flagi misc 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) 20
Główny obraz elementu 0 (dodatni x) tablicy 256-na-256 65536
Obraz mipmap z wpisu 0 tablicy 128 na 128 (oś x dodatnia) 16384
Wejście 0 tablicy 64-na-64 (dodatnie x) obraz mipmap 4096
Obraz mipmap wejścia 0 tablicy 32-na-32 (dodatni x) 1024
Mipmap dla wpisu tablicy 16 na 16, element 0 (dodatni x) 256
Obraz mipmap elementu 0 tablicy 8×8 (dodatni x) 64
Obraz mipmap dla elementu tablicy 4 na 4 o indeksie 0 (dodatni x) 16
Obraz mipmap pozycji 0 (dodatni x) w tablicy 2-na-2 16
Obraz mipmap o rozmiarze 1 na 1 dla elementu 0 tablicy (dodatni x) 16
powtórz poprzednie 9 warstw dla obrazu mipmap dla elementu 1 tablicy (z ujemnym x) 87408
powtórz poprzednie 9 warstw dla obrazu mipmap dla wpisu tablicy 2 (przy dodatnim y) 87408
powtórz poprzednie 9 warstw dla obrazu mipmap dla pozycji tablicy 3 (ujemne y) 87408
powtórz poprzednie 9 warstw dla wpisu tablicy 4 (dodatni z) obrazu mipmap 87408
Powtórz poprzednie 9 warstw dla obrazu mipmap w pozycji 5 tablicy (ujemne z) 87408

 

Przewodnik programowania dla usługi DDS