Naslaginformatie over bc7-indelingsmodus

Deze documentatie bevat een lijst met de 8 blokmodi en bittoewijzingen voor compressieblokken voor BC7-patronen.

De kleuren voor elke subset in een blok worden vertegenwoordigd door twee expliciete eindpuntkleuren en een set geïnterpoleerde kleuren ertussen. Afhankelijk van de indexprecisie van het blok kan elke subset 4, 8 of 16 mogelijke kleuren hebben.

Modus 0

BC7 Mode 0 heeft de volgende kenmerken:

  • Alleen kleuronderdelen (geen alfa)
  • 3 subsets per blok
  • RGBP 4.4.4.1-eindpunten met een unieke P-bits per eindpunt
  • 3-bits indexen
  • 16 partities

modus 0-bits indeling

Modus 1

BC7 Mode 1 heeft de volgende kenmerken:

  • Alleen kleuronderdelen (geen alfa)
  • 2 subsets per blok
  • RGBP 6.6.6.1-eindpunten met een gedeelde P-bits per subset)
  • 3-bits indexen
  • 64 partities

modus 1-bits indeling

Modus 2

BC7 Mode 2 heeft de volgende kenmerken:

  • Alleen kleuronderdelen (geen alfa)
  • 3 subsets per blok
  • RGB 5.5.5-eindpunten
  • 2-bits indexen
  • 64 partities

modus 2-bits indeling

Modus 3

BC7 Mode 3 heeft de volgende kenmerken:

  • Alleen kleuronderdelen (geen alfa)
  • 2 subsets per blok
  • RGBP 7.7.7.1-eindpunten met een unieke P-bits per subset)
  • 2-bits indexen
  • 64 partities

modus 3-bits indeling

Modus 4

BC7 Mode 4 heeft de volgende kenmerken:

  • Kleuronderdelen met een afzonderlijk alfa-onderdeel
  • 1 subset per blok
  • RGB 5.5.5-kleureindpunten
  • 6-bits alfa-eindpunten
  • 16 x 2-bits indexen
  • 16 x 3-bits indexen
  • 2-bits componentrotatie
  • 1-bits indexkiezer (of de 2- of 3-bits indexen worden gebruikt)

modus 4-bits indeling

Modus 5

BC7 Mode 5 heeft de volgende kenmerken:

  • Kleuronderdelen met een afzonderlijk alfa-onderdeel
  • 1 subset per blok
  • RGB 7.7.7-kleureindpunten
  • 8-bits alfa-eindpunten
  • 16 x 2-bits kleurindexen
  • 16 x 2-bits alfa-indexen
  • 2-bits componentrotatie

modus 5-bits indeling

Modus 6

BC7 Mode 6 heeft de volgende kenmerken:

  • Gecombineerde kleur- en alfaonderdelen
  • Eén subset per blok
  • RGBAP 7.7.7.7.1-kleureindpunten (en alfa) (unieke P-bits per eindpunt)
  • 16 x 4-bits indexen

modus 6-bits indeling

Modus 7

BC7 Mode 7 heeft de volgende kenmerken:

  • Gecombineerde kleur- en alfaonderdelen
  • 2 subsets per blok
  • RGBAP 5.5.5.5.1-kleureindpunten (en alfa) (unieke P-bits per eindpunt)
  • 2-bits indexen
  • 64 partities

modus 7-bits indeling

Opmerkingen

Modus 8 (de minst significante byte is ingesteld op 0x00) is gereserveerd. Gebruik deze niet in uw encoder. Als u deze modus doorgeeft aan de hardware, wordt een blok geïnitialiseerd op alle nullen geretourneerd.

In BC7 kunt u het alfa-onderdeel op een van de volgende manieren coderen:

  • Bloktypen zonder expliciete alfaonderdelencodering. In deze blokken hebben de kleureindpunten een RGB-codering, waarbij het alfa-onderdeel is gedecodeerd naar 1.0 voor alle texels.

  • Bloktypen met gecombineerde kleur- en alfaonderdelen. In deze blokken worden de eindpuntkleurwaarden opgegeven in de RGBA-indeling en worden de alfacomponentwaarden geïnterpoleerd, samen met de kleurwaarden.

  • Bloktypen met gescheiden kleur en alfa-onderdelen. In deze blokken worden de kleur- en alfawaarden afzonderlijk opgegeven, elk met hun eigen set indexen. Als gevolg hiervan hebben ze een effectieve vector en een scalair kanaal afzonderlijk gecodeerd, waarbij de vector gewoonlijk de kleurkanalen [R, G, B] en de scalaire specificeert het alfakanaal [A]. Ter ondersteuning van deze benadering wordt een afzonderlijk 2-bits veld geboden in de codering, waarmee de specificatie van de afzonderlijke kanaalcodering als een scalaire waarde wordt toegestaan. Als gevolg hiervan kan het blok een van de volgende vier verschillende representaties van deze alfacodering hebben (zoals aangegeven door het 2-bits veld):

    • RGB|A: alfakanaal afzonderlijk
    • AGB |R: "rood" kleurkanaal gescheiden
    • RAB|G: "groen" kleurkanaal gescheiden
    • RGA |B: "blauw" kleurkanaal gescheiden

    De decoder herschikt de volgorde van het kanaal terug naar RGBA na decodering, zodat de interne blokindeling onzichtbaar is voor de ontwikkelaar. Blokken met afzonderlijke kleur- en alfaonderdelen hebben ook twee sets indexgegevens: één voor de gevectorde set kanalen en één voor het scalaire kanaal. (In het geval van modus 4 zijn deze indexen van verschillende breedten [2 of 3 bits]. Modus 4 bevat ook een 1-bits selector die aangeeft of de vector of het scalaire kanaal gebruikmaakt van de 3-bits indexen.)

BC7-indeling