enumeración D3D11_TEXTURE_LAYOUT (d3d11_3.h)
Especifica las opciones de diseño de textura.
Syntax
typedef enum D3D11_TEXTURE_LAYOUT {
D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;
Constantes
D3D11_TEXTURE_LAYOUT_UNDEFINED Valor: 0 El diseño de textura no está definido y lo selecciona el controlador. |
D3D11_TEXTURE_LAYOUT_ROW_MAJOR Valor: 1 Los datos de la textura se almacenan en el orden principal de fila (a veces denominado "lineal de tono". |
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE Valor: 2 Una textura predeterminada usa el patrón swizzle estandarizado. |
Comentarios
Esta enumeración controla el patrón swizzle de texturas predeterminadas y habilita la compatibilidad con mapas en texturas predeterminadas. Los autores de llamadas deben consultar D3D11_FEATURE_DATA_D3D11_OPTIONS2 para asegurarse de que se admite cada opción.
Los formatos swizzle estándar se aplican dentro de cada fragmento de tamaño de página, y las páginas se colocan en orden lineal con respecto a otra. Un patrón de intercalación de 16 bits define la conversión de una ubicación dentro de la página pre-swizzled a la ubicación posterior.
Para demostrarlo, considere el formato 32bpp swizzle anterior. Esto se representa mediante las siguientes máscaras de intercalación, donde los bits de la izquierda son más significativos.UINT xBytesMask = 1010 1010 1000 1111
UINT yMask = 0101 0101 0111 0000
Para calcular la dirección de swizzled, se puede usar el código siguiente (donde se admite la instrucción _pdep_u32):
UINT swizzledOffset = resourceBaseOffset +
_pdep_u32(xOffset, xBytesMask) +
_pdep_u32(yOffset, yBytesMask);
Requisitos
Requisito | Valor |
---|---|
Header | d3d11_3.h |