Ejemplo de mapa de cubo de DDS
En el caso de los mapas de entorno cúbicos, una o varias caras de un cubo se escriben en el archivo, con 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, z positivo, z negativo z, con las caras que faltan omiten. Cada cara se escribe con su imagen principal, seguida de cualquier nivel de mapa mip.
Por ejemplo, un mapa de cubo de 256 a 256 con caras x positivas, negativas y positivas z, un formato de píxel de DXT1 y todos los niveles de mapa mip contendrán lo siguiente:
Componentes de DDS | # Bytes |
---|---|
encabezado | 128 |
256 a 256 imagen principal x positiva | 32 768 |
128 a 128 imagen positiva x mipmap | 8192 |
Imagen de mapa mip positivo de 64 por 64 | 2048 |
Imagen de mapa mip positivo de 32 por 32 | 512 |
Imagen de mapa mip positivo de 16 por 16 | 128 |
Imagen de mapa mip positivo de 8 por 8 | 32 |
Imagen de mapa mip positivo de 4 a 4 | 8 |
Imagen de mapa mip positivo de 2 por 2 | 8 |
Imagen de mapa mip positivo de 1 a 1 | 8 |
repetir las 9 capas anteriores para la imagen y mipmap | 43704 |
repetir las 9 capas anteriores para la imagen de mapa mip z | 43704 |
A partir de DirectX 8, un mapa de cubo se almacena con todas las caras definidas.
Mapas de cubos DXGI
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 mipmap 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 6, marcas incorrectas de 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) | 20 |
256 a 256 entrada de matriz 0 (x positiva) imagen principal | 65536 |
128 a 128 entrada de matriz 0 (positivo x) imagen de mapa mip | 16384 |
64 por 64 entrada de matriz 0 (x positivo) imagen mipmap | 4096 |
32 por 32 entrada de matriz 0 (x positiva) imagen mipmap | 1024 |
16 por 16 entrada de matriz 0 (x positivo) imagen de mapa mip | 256 |
Entrada de matriz de 8 a 8 (imagen de mapa mip positivo x) | 64 |
Entrada de matriz 4 a 4 (x positiva) imagen de mapa mip | 16 |
Entrada de matriz 2 a 2 (imagen de mapa mip positivo x) | 16 |
Imagen de mapa mip de 1 a 1 entrada de matriz 0 (x positiva) | 16 |
repita las 9 capas anteriores para la imagen mipmap de entrada de matriz 1 (negativo x) | 87408 |
repetir las 9 capas anteriores para la entrada de matriz 2 (positivo y) mipmap image | 87408 |
repita las 9 capas anteriores para la entrada de matriz 3 (negativo y) mipmap image | 87408 |
repetir las 9 capas anteriores para la entrada de matriz 4 (z positiva) mipmap image | 87408 |
repita las 9 capas anteriores para la entrada de matriz 5 (z negativa) mipmap image | 87408 |
Temas relacionados