Partilhar via


Referência do modo de formato BC7

Esta documentação contém uma lista dos 8 modos de bloco e alocações de bits para blocos de formato de compressão de textura BC7.

As cores para cada subconjunto dentro de um bloco são representadas por duas cores de ponto final explícitas e um conjunto de cores interpoladas entre elas. Dependendo da precisão do índice do bloco, cada subconjunto pode ter 4, 8 ou 16 cores possíveis.

Modo 0

O Modo BC7 0 tem as seguintes características:

  • Apenas componentes de cor (sem alfa)
  • 3 subconjuntos por bloco
  • Pontos finais RGBP 4.4.4.1 com um P-bit exclusivo por ponto final
  • Índices de 3 bits
  • 16 divisórias

modo 0 bit layout

Modo 1

BC7 Modo 1 tem as seguintes características:

  • Apenas componentes de cor (sem alfa)
  • 2 subconjuntos por bloco
  • Pontos finais RGBP 6.6.6.1 com um P-bit partilhado por subconjunto)
  • Índices de 3 bits
  • 64 divisórias

modo 1 bit layout

Modo 2

O Modo BC7 2 tem as seguintes características:

  • Apenas componentes de cor (sem alfa)
  • 3 subconjuntos por bloco
  • Pontos finais RGB 5.5.5
  • Índices de 2 bits
  • 64 divisórias

modo de layout de 2 bits

Modo 3

O Modo 3 BC7 tem as seguintes características:

  • Apenas componentes de cor (sem alfa)
  • 2 subconjuntos por bloco
  • Pontos finais RGBP 7.7.7.1 com um P-bit exclusivo por subconjunto)
  • Índices de 2 bits
  • 64 divisórias

modo de layout de 3 bits

Modo 4

BC7 Mode 4 tem as seguintes características:

  • Componentes de cor com componente alfa separado
  • 1 subconjunto por bloco
  • Pontos finais de cor RGB 5.5.5
  • Pontos finais alfa de 6 bits
  • 16 x índices de 2 bits
  • 16 x índices de 3 bits
  • Rotação de componentes de 2 bits
  • Seletor de índice de 1 bit (quer os índices de 2 ou 3 bits sejam usados)

modo 4 bit layout

Modo 5

O Modo BC7 5 tem as seguintes características:

  • Componentes de cor com componente alfa separado
  • 1 subconjunto por bloco
  • Pontos finais de cor RGB 7.7.7
  • Pontos finais alfa de 8 bits
  • 16 x índices de cores de 2 bits
  • 16 x índices alfa de 2 bits
  • Rotação de componentes de 2 bits

modo de layout de 5 bits

Modo 6

BC7 Mode 6 tem as seguintes características:

  • Componentes combinados de cor e alfa
  • Um subconjunto por bloco
  • Pontos finais RGBAP 7.7.7.7.1 coloridos (alfa) (P-bit exclusivo por ponto de extremidade)
  • 16 x índices de 4 bits

modo 6 bit layout

Modo 7

BC7 Mode 7 tem as seguintes características:

  • Componentes combinados de cor e alfa
  • 2 subconjuntos por bloco
  • Pontos finais RGBAP 5.5.5.5.1 coloridos (e alfa) (P-bit exclusivo por ponto de extremidade)
  • Índices de 2 bits
  • 64 divisórias

modo 7 bit layout

Comentários

O modo 8 (o byte menos significativo está definido como 0x00) é reservado. Não o use no codificador. Se você passar esse modo para o hardware, um bloco inicializado para todos os zeros será retornado.

No BC7, você pode codificar o componente alfa de uma das seguintes maneiras:

  • Tipos de bloco sem codificação explícita de componente alfa. Nesses blocos, os pontos de extremidade de cor têm uma codificação somente RGB, com o componente alfa decodificado para 1.0 para todos os texels.

  • Tipos de bloco com componentes combinados de cor e alfa. Nesses blocos, os valores de cor do ponto de extremidade são especificados no formato RGBA e os valores do componente alfa são interpolados junto com os valores de cor.

  • Tipos de bloco com componentes de cor e alfa separados. Nesses blocos, os valores de cor e alfa são especificados separadamente, cada um com seu próprio conjunto de índices. Como resultado, eles têm um vetor efetivo e um canal escalar codificado separadamente, onde o vetor comumente especifica os canais de cor [R, G, B] e o escalar especifica o canal alfa [A]. Para suportar essa abordagem, um campo separado de 2 bits é fornecido na codificação, o que permite a especificação da codificação de canal separado como um valor escalar. Como resultado, o bloco pode ter uma das seguintes quatro representações diferentes desta codificação alfa (conforme indicado pelo campo de 2 bits):

    • RGB|A: canal alfa separado
    • AGB|R: "vermelho" canal de cor separado
    • RAB|G: "verde" canal de cor separado
    • RGA|B: canal de cor "azul" separado

    O decodificador reordena a ordem do canal de volta para RGBA após a decodificação, de modo que o formato de bloco interno é invisível para o desenvolvedor. Blocos com cores separadas e componentes alfa também têm dois conjuntos de dados de índice: um para o conjunto vetorial de canais e outro para o canal escalar. (No caso do Modo 4, estes índices são de larguras diferentes [2 ou 3 bits]. O modo 4 também contém um seletor de 1 bit que especifica se o vetor ou o canal escalar usa os índices de 3 bits.)

Formato BC7