Ejemplo de mapa de cubo de DDS
Para los mapas de entorno cúbicos, una o varias caras de un cubo se escriben en el archivo, mediante formatos sin comprimir o comprimidos, y todas las caras deben tener el mismo tamaño. Cada cara puede tener mapas mip definidos, aunque todas las caras deben tener el mismo número de niveles de mapa mip. Si un archivo contiene un mapa de cubo, DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP y uno o varios de DSCAPS2_CUBEMAP_POSITIVEX/Y/Z o DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z deben establecerse. Las caras se escriben en el orden: positivo x, negativo x, positivo y, negativo y, positivo z, negativo z, con las caras que faltan omitidas. Cada cara se escribe con su imagen principal, seguida de cualquier nivel de mipmap.
Por ejemplo, un mapa de cubos de 256 por 256 con las caras x positivas, y negativas, y z positivas, un formato de píxel DXT1 y todos los niveles de mipmap contendría lo siguiente:
Componentes de DDS | # Bytes |
---|---|
encabezado | 128 |
Imagen principal de 256 x 256 píxeles positivos | 32768 |
Imagen mipmap positiva de 128 x 128 | 8192 |
Imagen mipmap positiva de 64 x 64 | 2048 |
Imagen mipmap positiva de 32 x 32 | 512 |
Imagen mipmap positiva de 16 x 16 | 128 |
Imagen mipmap positiva de 8 x 8 | 32 |
Imagen mipmap positiva de 4 x 4 | 8 |
Imagen mipmap positiva de 2 x 2 | 8 |
Imagen mipmap positiva de 1 x 1 | 8 |
repita las 9 capas anteriores para la imagen mipmap. | 43704 |
repetir las 9 capas anteriores para la imagen mipmap z | 43704 |
A partir de DirectX 8, un mapa de cubo se almacena con todas las caras definidas.
Los mapas de entorno cúbicos en Direct3D 10.x y Direct3D 11 son equivalentes a una matriz de texturas 2D con 6 imágenes y se pueden almacenar en archivos DDS como tal. Con Direct3D 10.1 y Direct3D 11, el hardware también puede admitir matrices de mapas de cubo que son matrices de texturas 2D con un múltiplo de 6 imágenes (6, 12, 18, 24, etc.).
Por ejemplo, este es un mapa de cubos de 256 por 256 con niveles de mapa mip almacenados en un formato BC6H como una matriz de texturas 2D:
Componentes de DDS | # Bytes |
---|---|
encabezado (FourCC de "DX10") | 128 |
encabezado extendido (formato DXGI establecido en 95 [DXGI_FORMAT_BC6H_UF16], valor de dimensión de 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], tamaño de matriz de 1, marcas variadas de 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) | 20 |
Entrada 0 de la matriz de 256 por 256 (x positiva), imagen principal | 65536 |
Entrada 0 de la matriz de 128 por 128 (x positiva), imagen mipmap | 16384 |
Entrada 0 de la matriz de 64 por 64 (x positiva), imagen mipmap | 4096 |
Entrada 0 de la matriz de 32 por 32 (x positiva), imagen mipmap | 1024 |
Entrada 0 de la matriz de 16 por 16 (x positiva), imagen mipmap | 256 |
Entrada 0 de la matriz de 8 por 8 (x positiva), imagen mipmap | 64 |
Entrada 0 de la matriz de 4 por 4 (x positiva), imagen mipmap | 16 |
Entrada 0 de la matriz de 2 por 2 (x positiva), imagen mipmap | 16 |
Entrada 0 de la matriz de 1 por 1 (x positiva), imagen mipmap | 16 |
repita las 9 capas anteriores para el elemento de matriz 1 (x negativa), imagen mipmap | 87408 |
repita las 9 capas anteriores para la entrada de matriz 2 (y positiva), imagen mipmap | 87408 |
repita las 9 capas anteriores para el elemento de matriz 3 (y negativa), imagen mipmap | 87408 |
repita las 9 capas anteriores para la entrada de matriz 4 (z positiva), imagen mipmap | 87408 |
repita las 9 capas anteriores para el elemento de matriz 5 (z negativa), imagen mipmap | 87408 |