Share via


BC7 형식 모드 참조

이 설명서에는 BC7 텍스처 압축 형식 블록에 대한 8개의 블록 모드 및 비트 할당 목록이 포함되어 있습니다.

블록 내의 각 하위 집합의 색은 2개의 명시적 엔드포인트 색과 그 사이의 보간된 색 집합으로 표현됩니다. 블록의 인덱스 정밀도에 따라 각 하위 집합에 4, 8 또는 16개의 색이 있을 수 있습니다.

모드 0

BC7 모드 0에는 다음과 같은 특성이 있습니다.

  • 색 구성 요소만(알파 없음)
  • 블록당 3개의 하위 집합
  • 엔드포인트마다 고유한 P 비트가 있는 RGBP 4.4.4.1 엔드포인트
  • 3비트 인덱스
  • 16개 파티션

모드 0비트 레이아웃

모드 1

BC7 모드 1에는 다음과 같은 특성이 있습니다.

  • 색 구성 요소만(알파 없음)
  • 블록당 2개의 하위 집합
  • 하위 집합당 1개의 공유 P 비트가 있는 RGBP 6.6.6.1 엔드포인트
  • 3비트 인덱스
  • 64개 파티션

모드 1비트 레이아웃

모드 2

BC7 모드 2에는 다음과 같은 특성이 있습니다.

  • 색 구성 요소만(알파 없음)
  • 블록당 3개의 하위 집합
  • RGB 5.5.5 엔드포인트
  • 2비트 인덱스
  • 64개 파티션

모드 2비트 레이아웃

모드 3

BC7 모드 3에는 다음과 같은 특성이 있습니다.

  • 색 구성 요소만(알파 없음)
  • 블록당 2개의 하위 집합
  • 하위 집합당 1개의 고유한 P 비트가 있는 RGBP 7.7.7.1 엔드포인트
  • 2비트 인덱스
  • 64개 파티션

모드 3비트 레이아웃

모드 4

BC7 모드 4에는 다음과 같은 특성이 있습니다.

  • 별도의 알파 구성 요소를 포함한 색 구성 요소
  • 블록당 1개의 하위 집합
  • RGB 5.5.5 색 엔드포인트
  • 6비트 알파 엔드포인트
  • 16개의 2비트 인덱스
  • 16개의 3비트 인덱스
  • 2비트 구성 요소 회전
  • 1비트 인덱스 선택기(2비트 또는 3비트 인덱스 사용)

모드 4비트 레이아웃

모드 5

BC7 모드 5에는 다음과 같은 특성이 있습니다.

  • 별도의 알파 구성 요소를 포함한 색 구성 요소
  • 블록당 1개의 하위 집합
  • RGB 7.7.7 색 엔드포인트
  • 8비트 알파 엔드포인트
  • 16개의 2비트 색 인덱스
  • 16개의 2비트 알파 인덱스
  • 2비트 구성 요소 회전

모드 5비트 레이아웃

모드 6

BC7 모드 6에는 다음과 같은 특성이 있습니다.

  • 결합된 색 및 알파 구성 요소
  • 블록당 1개의 하위 집합
  • RGBAP 7.7.7.7.1 색 및 알파 엔드포인트(엔드포인트마다 고유한 P 비트)
  • 16개의 4비트 인덱스

모드 6비트 레이아웃

모드 7

BC7 모드 7에는 다음과 같은 특성이 있습니다.

  • 결합된 색 및 알파 구성 요소
  • 블록당 2개의 하위 집합
  • RGBAP 5.5.5.5.1 색 및 알파 엔드포인트(엔드포인트마다 고유한 P 비트)
  • 2비트 인덱스
  • 64개 파티션

모드 7비트 레이아웃

설명

모드 8(최하위 바이트가 0x00으로 설정됨)은 예약되어 있습니다. 인코더에 이 모드를 사용하지 마세요. 하드웨어에 이 모드를 전달하면 모두 0으로 초기화된 블록이 반환됩니다.

BC7에서 다음 방법 중 하나로 알파 구성 요소를 인코딩할 수 있습니다.

  • 명시적 알파 구성 요소 인코딩이 없는 블록 유형 이러한 블록에서는 색 엔드포인트에 RGB 전용 인코딩이 있고 알파 구성 요소는 원본 데이터의 모든 텍셀에 대해 1.0으로 디코딩됩니다.

  • 색 및 알파 구성 요소가 결합된 블록 유형 이러한 블록에서는 엔드포인트 색 값이 RGBA 형식으로 지정되고 알파 구성 요소 값이 색 값과 함께 보간됩니다.

  • 색 및 알파 구성 요소가 분리된 블록 유형 이러한 블록에서는 색 값과 알파 값이 따로 지정되고 각각 자체 인덱스 집합을 가집니다. 결과적으로 유효 벤더와 스칼라 채널이 따로 인코딩됩니다. 여기에서 벡터는 일반적으로 색 채널 [R, G, B]를 지정하고 스칼라는 알파 채널 [A]를 지정합니다. 이 접근 방식을 지원하기 위해 별도의 2비트 필드가 인코딩에서 제공됩니다. 이를 통해 별도의 채널 인코딩을 스칼라 값으로 지정할 수 있습니다. 결과적으로 블록에 이 알파 인코딩의 다음 4가지 표현 중 하나가 있을 수 있습니다(2비트 필드로 표시됨).

    • RGB|A: 알파 채널 분리
    • AGB|R: "빨강" 색 채널 분리
    • RAB|G: "녹색" 색 채널 분리
    • RGA|B: "파랑" 색 채널 분리

    디코더가 디코딩 후 채널 순서를 다시 RGBA로 재정렬하므로 내부 블록 형식이 개발자에게 표시되지 않습니다. 별도의 색 및 알파 구성 요소가 있는 블록에는 벡터화된 채널 집합과 스칼라 채널에 대한 인덱스 데이터 집합의 두 가지 집합도 있습니다. (모드 4의 경우 이러한 인덱스는 너비 [2비트 또는 3비트]가 다릅니다. 모드 4에는 벡터 또는 스칼라 채널이 3비트 인덱스를 사용하는지 여부를 지정하는 1비트 선택기도 포함되어 있습니다.)

BC7 형식