압축된 텍스처 형식(Direct3D 9)

이 섹션에는 압축된 텍스처 형식의 내부 구성에 대한 정보가 있습니다. 압축된 형식으로 변환하는 데 D3DX 함수를 사용할 수 있으므로 압축된 텍스처를 사용하기 위해 이러한 세부 정보가 필요하지 않습니다. 그러나 이 정보는 압축된 표면 데이터에서 직접 작업하려는 경우 유용합니다.

Direct3D는 텍스처 맵을 4x4 텍셀 블록으로 나누는 압축 형식을 사용합니다. 텍스처에 투명성이 없고 텍스처가 불투명하거나 1비트 알파로 투명성이 지정되는 경우 8바이트 블록이 텍스처 맵 블록을 나타냅니다. 텍스처 맵에 투명 텍셀이 없는 경우 알파 채널을 사용하여 16바이트 블록이 이를 나타냅니다.

단일 텍스처는 해당 데이터가 16개 텍셀 그룹당 64비트나 128비트로 저장되도록 지정해야 합니다. 64비트 블록(즉, DXT1 형식)이 텍스처에 사용되는 경우 동일한 텍스처 내에서 블록 단위로 불투명 및 1비트 알파 형식을 혼합할 수 있습니다. 즉, 각각의 16개 텍셀 블록에 대해 color\_0 및 color\_1의 부호 없는 정수 크기 비교가 수행됩니다.

128비트 블록을 사용하는 경우 전체 텍스처에 대해 알파 채널을 명시적(DXT2 또는 DXT3 형식) 또는 보간 모드(DXT4 또는 DXT5 형식)로 지정해야 합니다. 색과 마찬가지로 보간된 모드를 선택하면 8개의 보간된 알파나 6개의 보간된 알파 모드를 블록 단위로 사용할 수 있습니다. 다시 alpha\_0과 alpha\_1의 크기 비교가 블록 단위로 고유하게 수행됩니다.

DXTn 형식의 피치는 DirectX 7.0에서 반환된 것과 다릅니다. 이제 피치가 바이트 단위로 측정됩니다(블록 아님). 예를 들어 너비가 16인 경우 4개의 블록(DXT1의 경우 4*8, DXT2-5의 경우 4*16)의 피치가 있습니다.

압축된 텍스처 리소스