Direct3D 11의 텍스처 블록 압축

Direct3D 11에서 질감에 대한 블록 압축(BC) 지원 기능이 확장되면서 이제 BC6H 및 BC7 알고리즘도 지원합니다. BC6H는 High Dynamic Range 색 원본 데이터를 지원하고, BC7은 표준 RGB 원본 데이터에 대한 더 적은 아티팩트로 평균보다 나은 품질의 압축을 제공합니다.

BC1부터 BC5 형식에 대한 지원을 포함하여 Direct3D 11 이전의 블록 압축 알고리즘 지원에 대한 자세한 내용은 블록 압축(Direct3D 10)을 참조하세요.

파일 형식에 대한 참고 사항: BC6H 및 BC7 텍스처 압축 형식은 DDS 파일 형식을 사용하여 압축된 텍스처 데이터를 저장합니다. 자세한 내용은 DDS 프로그래밍 가이드를 참조하세요.

Direct3D 11에서 지원되는 블록 압축 형식

원본 데이터 필요한 최소 데이터 압축 해상도 권장 형식 지원되는 최소 특성 수준
3채널 색(알파 채널 포함) 3개 색 채널(5비트:6비트:5비트), 0 또는 1비트의 알파 포함 BC1 Direct3D 9.1
3채널 색(알파 채널 포함) 3개 색 채널(5비트:6비트:5비트), 4비트의 알파 포함 BC2 Direct3D 9.1
3채널 색(알파 채널 포함) 3개 색 채널(5비트:6비트:5비트), 8비트의 알파 포함 BC3 Direct3D 9.1
1채널 색 1개 색 채널(8비트) BC4 Direct3D 10
2채널 색 2개 색 채널(8비트:8비트) BC5 Direct3D 10
3채널 HDR(High Dynamic Range) 색 "중간 정밀도"의 부동 소수점에서 3개 색 채널(16비트:16비트:16비트)* BC6H Direct3D 11
3채널 색(알파 채널은 옵션) 0~8비트의 알파가 포함된 3개 색 채널(채널당 4~7비트) BC7 Direct3D 11

*"중간 정밀도"의 부동 소수점은 옵션인 사인 비트와 5비트 편향 지수, 그리고 10 또는 11비트 가수로 구성되는 16비트 값입니다.

BC1, BC2 및 B3 형식

BC1, BC2 및 BC3 형식은 Direct3D 9 DXTn 질감 압축 형식과 동등하며, 해당하는 Direct3D 10 BC1, BC2 및 BC3 형식과도 동일합니다. 이러한 형식에 대한 지원은 모든 기능 수준 || 특성 수준(D3D\_FEATURE\_LEVEL\_9\_1, D3D\_FEATURE\_LEVEL\_9\_2, D3D\_FEATURE\_LEVEL\_9\_3, D3D\_FEATURE\_LEVEL\_10\_0, D3D\_FEATURE\_LEVEL\_10\_1 및 D3D\_FEATURE\_LEVEL\_11\_0)에 필요합니다.

블록 압축 형식 DXGI 형식 Direct3D 9에 준하는 형식 4x4 픽셀 블록당 바이트
BC1 DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB, DXGI_FORMAT_BC1_TYPELESS D3DFMT_DXT1, FourCC="DXT1" 8
BC2 DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB, DXGI_FORMAT_BC2_TYPELESS D3DFMT_DXT2*, FourCC="DXT2", D3DFMT_DXT3, FourCC="DXT3" 16
BC3 DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB, DXGI_FORMAT_BC3_TYPELESS D3DFMT_DXT4*, FourCC="DXT4", D3DFMT_DXT5, FourCC="DXT5" 16

*이러한 압축 방식(DXT2 및 DXT4)에서는 Direct3D 9의 사전 곱셈 알파 형식과 표준 알파 형식을 서로 구분하지 않습니다. 따라서 이러한 구분은 렌더링 시 프로그래밍이 가능한 셰이더를 이용해 처리해야 합니다.

BC4 및 BC5 형식

블록 압축 형식 DXGI 형식 Direct3D 9에 준하는 형식 4x4 픽셀 블록당 바이트
BC4 DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM, DXGI_FORMAT_BC4_TYPELESS FourCC="ATI1" 8
BC5 DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM, DXGI_FORMAT_BC5_TYPELESS FourCC="ATI2" 16

BC6H 형식

이 형식에 대한 자세한 내용은 BC6H 형식 설명서를 참조하세요.

블록 압축 형식 DXGI 형식 Direct3D 9에 준하는 형식 4x4 픽셀 블록당 바이트
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS 해당 없음 16

BC6H 형식은 4x4 픽셀 블록마다 다른 인코딩 모드를 선택할 수 있습니다. 총 14개의 인코딩 모드를 사용할 수 있으며, 각각 표시되는 질감의 시각적 품질이 약간씩 다릅니다. 이렇게 모드를 사용하면 원본 내용에 따라 품질 수준을 다르게 선택하거나 적용하여 하드웨어의 디코딩 속도를 빠르게 할 수 있지만 검색 공간의 복잡성이 매우 커지기도 합니다.

BC7 형식

이 형식에 대한 자세한 내용은 BC7 형식 설명서를 참조하세요.

블록 압축 형식 DXGI 형식 Direct3D 9에 준하는 형식 4x4 픽셀 블록당 바이트
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS 해당 없음 16

BC7 형식은 4x4 픽셀 블록마다 다른 인코딩 모드를 선택할 수 있습니다. 총 8개의 인코딩 모드를 사용할 수 있으며, 각각 표시되는 질감의 시각적 품질이 약간씩 다릅니다. 이렇게 모드를 사용하면 원본 내용에 따라 품질 수준을 다르게 선택하거나 적용하여 하드웨어의 디코딩 속도를 빠르게 할 수 있지만 검색 공간의 복잡성이 매우 커지기도 합니다.

섹션 내용

항목 설명
BC6H 형식
BC6H 형식은 원본 데이터의 HDR(High Dynamic Range) 색 공간을 지원하도록 설계된 텍스처 압축 형식입니다.
BC7 형식
BC7 형식은 RGB 및 RGBA 데이터의 고품질 압축에 사용되는 텍스처 압축 형식입니다.
BC7 형식 모드 참조
이 설명서에는 BC7 텍스처 압축 형식 블록에 대한 8개의 블록 모드 및 비트 할당 목록이 포함되어 있습니다.

블록 압축(Direct3D 10)

질감