Share via


Riferimento alla modalità formato BC7

Questa documentazione contiene un elenco delle 8 modalità di blocco e delle allocazioni di bit per i blocchi di formato di compressione trama BC7.

I colori per ogni subset all'interno di un blocco sono rappresentati da due colori di endpoint espliciti e da un set di colori interpolati tra di essi. A seconda della precisione dell'indice del blocco, ogni subset può avere 4, 8 o 16 colori possibili.

Modalità 0

La modalità BC7 0 presenta le caratteristiche seguenti:

  • Solo componenti colore (nessun alfa)
  • 3 subset per blocco
  • Endpoint RGBP 4.4.4.1 con un endpoint P univoco per endpoint
  • Indici a 3 bit
  • 16 partizioni

layout a 0 bit in modalità

Modalità 1

La modalità BC7 1 presenta le caratteristiche seguenti:

  • Solo componenti colore (nessun alfa)
  • 2 subset per blocco
  • Endpoint RGBP 6.6.6.1 con un P condiviso per subset)
  • Indici a 3 bit
  • 64 partizioni

layout a 1 bit

Modalità 2

La modalità BC7 2 presenta le caratteristiche seguenti:

  • Solo componenti colore (nessun alfa)
  • 3 subset per blocco
  • Endpoint RGB 5.5.5
  • Indici a 2 bit
  • 64 partizioni

layout a 2 bit

Modalità 3

La modalità BC7 3 presenta le caratteristiche seguenti:

  • Solo componenti colore (nessun alfa)
  • 2 subset per blocco
  • Endpoint RGBP 7.7.7.1 con un valore P univoco per subset)
  • Indici a 2 bit
  • 64 partizioni

layout a 3 bit in modalità

Modalità 4

La modalità BC7 4 presenta le caratteristiche seguenti:

  • Componenti di colore con componente alfa separato
  • 1 subset per blocco
  • Endpoint di colore RGB 5.5.5
  • Endpoint alfa a 6 bit
  • Indici a 16 x 2 bit
  • Indici a 16 x 3 bit
  • Rotazione dei componenti a 2 bit
  • Selettore di indice a 1 bit (se vengono usati gli indici a 2 o 3 bit)

layout a 4 bit in modalità

Modalità 5

La modalità BC7 5 presenta le caratteristiche seguenti:

  • Componenti di colore con componente alfa separato
  • 1 subset per blocco
  • Endpoint di colore RGB 7.7.7
  • Endpoint alfa a 8 bit
  • Indici di colore a 16 x 2 bit
  • Indici alfa a 16 x 2 bit
  • Rotazione dei componenti a 2 bit

layout a 5 bit in modalità

Modalità 6

La modalità BC7 6 presenta le caratteristiche seguenti:

  • Colori combinati e componenti alfa
  • Un subset per blocco
  • Endpoint RGBAP 7.7.7.7.1 (e alfa) (univoci P per endpoint)
  • Indici a 16 x 4 bit

layout a 6 bit in modalità

Modalità 7

La modalità BC7 7 presenta le caratteristiche seguenti:

  • Colori combinati e componenti alfa
  • 2 subset per blocco
  • Endpoint RGBAP 5.5.5.5.1 (e alfa) (univoci P per endpoint)
  • Indici a 2 bit
  • 64 partizioni

layout a 7 bit

Commenti

La modalità 8 (il byte meno significativo è impostato su 0x00) è riservato. Non usarlo nel codificatore. Se si passa questa modalità all'hardware, viene restituito un blocco inizializzato a tutti gli zero.

In BC7 è possibile codificare il componente alfa in uno dei modi seguenti:

  • Blocca i tipi senza codifica alfa alfa esplicita. In questi blocchi gli endpoint di colore hanno una codifica SOLO RGB, con il componente alfa decodificato su 1.0 per tutti i texel.

  • Tipi di blocco con componenti alfa e colori combinati. In questi blocchi i valori dei colori dell'endpoint vengono specificati nel formato RGBA e i valori dei componenti alfa vengono interpolati insieme ai valori di colore.

  • Tipi di blocco con componenti alfa e colore separati. In questi blocchi i valori di colore e alfa vengono specificati separatamente, ognuno con il proprio set di indici. Di conseguenza, hanno un vettore efficace e un canale scalare codificato separatamente, in cui il vettore specifica comunemente i canali di colore [R, G, B] e il canale scalare specifica il canale alfa [A]. Per supportare questo approccio, viene fornito un campo a 2 bit separato nella codifica, che consente la specifica della codifica del canale separato come valore scalare. Di conseguenza, il blocco può avere una delle quattro rappresentazioni seguenti di questa codifica alfa (come indicato dal campo a 2 bit):

    • RGB| R: canale alfa separato
    • AGB| R: canale di colore "rosso" separato
    • RAB | G: canale di colore "verde" separato
    • RGA | B: canale di colore "blu" separato

    Il decodificatore riordina l'ordine del canale in RGBA dopo la decodifica, quindi il formato del blocco interno è invisibile allo sviluppatore. I blocchi con colori separati e componenti alfa hanno anche due set di dati di indice: uno per il set vettoriale di canali e uno per il canale scalare. (Nel caso della modalità 4, questi indici sono di larghezze diverse [2 o 3 bit]. La modalità 4 contiene anche un selettore a 1 bit che specifica se il vettore o il canale scalare usa gli indici a 3 bit.

Formato BC7