Dela via


Referens för BC7-formatläge

Den här dokumentationen innehåller en lista över 8 blocklägen och bitallokeringar för BC7-texturkomprimeringsformatblock.

Färgerna för varje delmängd i ett block representeras av två explicita slutpunktsfärger och en uppsättning interpolerade färger mellan dem. Beroende på blockets indexprecision kan varje delmängd ha 4, 8 eller 16 möjliga färger.

Läge 0

BC7-läge 0 har följande egenskaper:

  • Endast färgkomponenter (ingen alfa)
  • 3 delmängder per block
  • RGBP 4.4.4.1-slutpunkter med en unik P-bit per slutpunkt
  • 3-bitarsindex
  • 16 partitioner

läge 0 bitars layout

Läge 1

BC7-läge 1 har följande egenskaper:

  • Endast färgkomponenter (ingen alfa)
  • 2 delmängder per block
  • RGBP 6.6.6.1-slutpunkter med en delad P-bit per delmängd)
  • 3-bitarsindex
  • 64 partitioner

läge 1 bitars layout

Läge 2

BC7-läge 2 har följande egenskaper:

  • Endast färgkomponenter (ingen alfa)
  • 3 delmängder per block
  • RGB 5.5.5-slutpunkter
  • 2-bitarsindex
  • 64 partitioner

läge 2 bitars layout

Läge 3

BC7-läge 3 har följande egenskaper:

  • Endast färgkomponenter (ingen alfa)
  • 2 delmängder per block
  • RGBP 7.7.7.1-slutpunkter med en unik P-bit per delmängd)
  • 2-bitarsindex
  • 64 partitioner

läge 3 bitars layout

Läge 4

BC7-läge 4 har följande egenskaper:

  • Färgkomponenter med separat alfakomponent
  • 1 delmängd per block
  • RGB 5.5.5 färgslutpunkter
  • 6-bitars alfaslutpunkter
  • 16 x 2-bitars index
  • 16 x 3-bitars index
  • 2-bitars komponentrotation
  • 1-bitars indexväljare (oavsett om 2- eller 3-bitarsindex används)

läge 4-bitars layout

Läge 5

BC7-läge 5 har följande egenskaper:

  • Färgkomponenter med separat alfakomponent
  • 1 delmängd per block
  • RGB 7.7.7 färgslutpunkter
  • 8-bitars alfaslutpunkter
  • Färgindex på 16 x 2 bitar
  • 16 x 2-bitars alfaindex
  • 2-bitars komponentrotation

läge 5 bitars layout

Läge 6

BC7-läge 6 har följande egenskaper:

  • Kombinerade färg- och alfakomponenter
  • En delmängd per block
  • RGBAP 7.7.7.7.1 färg (och alfa) slutpunkter (unik P-bit per slutpunkt)
  • 16 x 4-bitars index

läge 6 bitars layout

Läge 7

BC7-läge 7 har följande egenskaper:

  • Kombinerade färg- och alfakomponenter
  • 2 delmängder per block
  • RGBAP 5.5.5.5.1 färg (och alfa) slutpunkter (unik P-bit per slutpunkt)
  • 2-bitarsindex
  • 64 partitioner

läge 7 bitars layout

Anmärkningar

Läge 8 (minst betydande byte är inställt på 0x00) är reserverat. Använd den inte i kodaren. Om du skickar det här läget till maskinvaran returneras ett block som initierats till alla nolla.

I BC7 kan du koda alfakomponenten på något av följande sätt:

  • Blockera typer utan explicit alfakomponentkodning. I dessa block har färgslutpunkterna en RGB-kodning med alfakomponenten avkodad till 1,0 för alla texels.

  • Blockera typer med kombinerade färg- och alfakomponenter. I dessa block anges slutpunktsfärgvärdena i RGBA-format och alfakomponentvärdena interpoleras tillsammans med färgvärdena.

  • Blockera typer med avgränsade färg- och alfakomponenter. I dessa block anges färg- och alfavärdena separat, var och en med en egen uppsättning index. Därför har de en effektiv vektor och en skalär kanal separat kodad, där vektorn vanligtvis anger färgkanalerna [R, G, B] och skalären anger alfakanalen [A]. För att stödja den här metoden tillhandahålls ett separat 2-bitarsfält i kodningen, som tillåter specifikationen av den separata kanalkodningen som ett skalärt värde. Därför kan blocket ha någon av följande fyra olika representationer av den här alfakodningen (vilket anges i 2-bitarsfältet):

    • RGB|S: alfakanal separat
    • AGB|R: "röd" färgkanal separat
    • RAB|G: "grön" färgkanal separat
    • RGA|B: "blå" färgkanal separat

    Avkodaren ordnar om kanalordningen till RGBA efter avkodningen, så det interna blockformatet är osynligt för utvecklaren. Block med separata färg- och alfakomponenter har också två uppsättningar indexdata: en för den vektorerade uppsättningen kanaler och en för den skalära kanalen. (När det gäller läge 4 har dessa index olika bredder [2 eller 3 bitar]. Läge 4 innehåller också en 1-bitars väljare som anger om vektorn eller den skalära kanalen använder 3-bitarsindex.)

BC7-format