Beispiel für DDS-Cubezuordnung
Für kubische Umgebungszuordnungen werden mindestens eine Gesichter eines Würfels in die Datei geschrieben, wobei entweder nicht komprimierte oder komprimierte Formate verwendet werden, und alle Gesichter müssen die gleiche Größe aufweisen. Jedes Gesicht kann Mipmaps definiert haben, obwohl alle Gesichter dieselbe Anzahl von Mipmap-Ebenen aufweisen müssen. Wenn eine Datei eine Cubezuordnung enthält, DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP und mindestens ein DSCAPS2_CUBEMAP_POSITIVEX/Y/Z und/oder DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z festgelegt werden sollte. Die Gesichter werden in der Reihenfolge geschrieben: positive x, negative x, positive y, negative y, positive z, negative z, negative z, mit fehlenden Gesichtern weggelassen. Jedes Gesicht wird mit seinem Hauptbild geschrieben, gefolgt von beliebigen Mipmap-Ebenen.
Beispielsweise würde eine 256 x-256-Cubezuordnung mit positiven x-, negativen y- und positiven Z-Gesichtern, einem Pixelformat von DXT1 und allen Mipmap-Ebenen Folgendes enthalten:
DDS-Komponenten | # Bytes |
---|---|
Kopfball | 128 |
256 by-256 positives x Hauptbild | 32768 |
128 x 128 positives x mipmap-Bild | 8192 |
64-by-64 positives x mipmap-Bild | 2048 |
32-by-32 positives x mipmap-Bild | 512 |
16:16 positives x mipmap-Bild | 128 |
8:8 positives x mipmap-Bild | 32 |
4:4 positives x mipmap-Bild | 8 |
2:2 positives x mipmap-Bild | 8 |
1:1 positives x mipmap-Bild | 8 |
Wiederholen der vorherigen 9 Ebenen für das y-Mipmap-Bild | 43704 |
Wiederholen der vorherigen 9 Ebenen für das z-Mipmap-Bild | 43704 |
Ab DirectX 8 wird eine Cubezuordnung mit allen definierten Gesichtern gespeichert.
DXGI-Cubezuordnungen
Kubische Umgebungszuordnungen in Direct3D 10.x und Direct3D 11 entsprechen einem 2D-Texturarray mit 6 Bildern und können in DDS-Dateien gespeichert werden. Mit Direct3D 10.1 und Direct3D 11 kann die Hardware auch Arrays von Cubemaps unterstützen, die selbst 2D-Texturarrays mit einem Vielfachen von 6 Bildern (6, 12, 18, 24 usw.) sind.
Hier ist beispielsweise eine 256-by-256-Cubemap mit Mipmap-Ebenen, die in einem BC6H-Format als 2D-Texturarray gespeichert sind:
DDS-Komponenten | # Bytes |
---|---|
Header (FourCC von "DX10") | 128 |
erweiterter Header (DXGI-Format auf 95 [DXGI_FORMAT_BC6H_UF16], Bemaßungswert 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], Arraygröße von 1, falsche Kennzeichnungen von 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) | 20 |
256-mal-256 Arrayeintrag 0 (positive x) Hauptbild | 65536 |
128-by-128 Array entry 0 (positive x) mipmap image | 16384 |
64-mal-64-Arrayeintrag 0 (positive x) mipmap-Bild | 4096 |
32:32 Arrayeintrag 0 (positive x) mipmap-Abbildung | 1024 |
16:16 Arrayeintrag 0 (positive x) mipmap-Abbildung | 256 |
8:8 Arrayeintrag 0 (positive x) mipmap-Abbildung | 64 |
4:4 Arrayeintrag 0 (positive x) mipmap-Abbildung | 16 |
2:2 Arrayeintrag 0 (positives x) mipmap-Bild | 16 |
1:1 Arrayeintrag 0 (positives x) mipmap-Bild | 16 |
Wiederholen Sie die vorherigen 9 Ebenen für array entry 1 (negative x) mipmap image | 87408 |
Wiederholen Sie die vorherigen 9 Ebenen für Arrayeintrag 2 (positives y)-Mipmap-Bild | 87408 |
Wiederholen Sie die vorherigen 9 Ebenen für array entry 3 (negative y) mipmap image | 87408 |
Wiederholen Sie die vorherigen 9 Ebenen für array entry 4 (positive z) mipmap image | 87408 |
Wiederholen Sie die vorherigen 9 Ebenen für array entry 5 (negative z) mipmap image | 87408 |
Verwandte Themen