Compartir a través de


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

 

Guía de programación para DDS