Leer en inglés

Compartir a través de


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.

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 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

 

Guía de programación para DDS