Compartir a través de


Referencia del modo de formato BC7

Esta documentación contiene una lista de los 8 modos de bloque y asignaciones de bits para bloques de formato de compresión de textura BC7.

Los colores de cada subconjunto dentro de un bloque se representan mediante dos colores de punto de conexión explícitos y un conjunto de colores interpolados entre ellos. Según la precisión del índice del bloque, cada subconjunto puede tener 4, 8 o 16 colores posibles.

Modo 0

El modo BC7 0 tiene las siguientes características:

  • Solo componentes de color (sin alfa)
  • 3 subconjuntos por bloque
  • Puntos de conexión RGBP 4.4.4.1 con un bit P único por punto de conexión
  • Índices de 3 bits
  • 16 particiones

diseño de modo de 0 bits

Modo 1

El modo BC7 1 tiene las siguientes características:

  • Solo componentes de color (sin alfa)
  • 2 subconjuntos por bloque
  • Puntos de conexión RGBP 6.6.6.1 con un bit P compartido por subconjunto)
  • Índices de 3 bits
  • 64 particiones

diseño de modo de 1 bits

Modo 2

El modo BC7 2 tiene las siguientes características:

  • Solo componentes de color (sin alfa)
  • 3 subconjuntos por bloque
  • Puntos de conexión RGB 5.5.5
  • Índices de 2 bits
  • 64 particiones

diseño de modo de 2 bits

Modo 3

El modo BC7 3 tiene las siguientes características:

  • Solo componentes de color (sin alfa)
  • 2 subconjuntos por bloque
  • Puntos de conexión RGBP 7.7.7.1 con un bit P único por subconjunto)
  • Índices de 2 bits
  • 64 particiones

diseño de modo de 3 bits

Modo 4

El modo BC7 4 tiene las siguientes características:

  • Componentes de color con componente alfa independiente
  • 1 subconjunto por bloque
  • Puntos de conexión de color RGB 5.5.5
  • Puntos de conexión alfa de 6 bits
  • Índices de 16 x 2 bits
  • Índices de 16 x 3 bits
  • Rotación de componentes de 2 bits
  • Selector de índice de 1 bits (si se usan los índices de 2 o 3 bits)

diseño de modo de 4 bits

Modo 5

El modo BC7 5 tiene las siguientes características:

  • Componentes de color con componente alfa independiente
  • 1 subconjunto por bloque
  • Puntos de conexión de color RGB 7.7.7
  • Puntos de conexión alfa de 8 bits
  • Índices de color de 16 x 2 bits
  • Índices alfa de 16 x 2 bits
  • Rotación de componentes de 2 bits

diseño de modo de 5 bits

Modo 6

El modo BC7 6 tiene las siguientes características:

  • Componentes de color y alfa combinados
  • Un subconjunto por bloque
  • Extremos de color RGBAP 7.7.7.7.1 (y alfa) (bits P único por punto de conexión)
  • Índices de 16 x 4 bits

diseño de modo de 6 bits

Modo 7

El modo BC7 7 tiene las siguientes características:

  • Componentes de color y alfa combinados
  • 2 subconjuntos por bloque
  • Extremos de color RGBAP 5.5.5.5.1 (y alfa) (bits P único por punto de conexión)
  • Índices de 2 bits
  • 64 particiones

diseño de modo de 7 bits

Comentarios

El modo 8 (el byte menos significativo se establece en 0x00) está reservado. No lo use en el codificador. Si pasa este modo al hardware, se devuelve un bloque inicializado en todos los ceros.

En BC7, puede codificar el componente alfa de una de las maneras siguientes:

  • Bloquear tipos sin codificación explícita de componentes alfa. En estos bloques, los puntos de conexión de color tienen una codificación solo RGB, con el componente alfa descodificado en 1.0 para todos los elementos de textura.

  • Tipos de bloques con componentes alfa y de color combinados. En estos bloques, los valores de color del punto de conexión se especifican en el formato RGBA y los valores de componente alfa se interpolan junto con los valores de color.

  • Tipos de bloques con componentes alfa y de color separados. En estos bloques, los valores de color y alfa se especifican por separado, cada uno con su propio conjunto de índices. Como resultado, tienen un vector eficaz y un canal escalar codificado por separado, donde el vector suele especificar los canales de color [R, G, B] y el escalar especifica el canal alfa [A]. Para admitir este enfoque, se proporciona un campo de 2 bits independiente en la codificación, que permite la especificación de la codificación de canal independiente como un valor escalar. Como resultado, el bloque puede tener una de las cuatro representaciones diferentes siguientes de esta codificación alfa (como se indica en el campo de 2 bits):

    • RGB| R: canal alfa independiente
    • AGB| R: canal de color "rojo" independiente
    • RAB| G: canal de color "verde" independiente
    • RGA| B: canal de color "azul" independiente

    El descodificador reordena el orden del canal a RGBA después de la descodificación, por lo que el formato de bloque interno es invisible para el desarrollador. Los bloques con componentes alfa y color independientes también tienen dos conjuntos de datos de índice: uno para el conjunto vectorial de canales y otro para el canal escalar. (En el caso del modo 4, estos índices son de anchos diferentes [2 o 3 bits]. El modo 4 también contiene un selector de 1 bits que especifica si el vector o el canal escalar usa los índices de 3 bits).

Formato BC7