DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 텍스처 압축 텍스처 리소스 압축 텍스처 포맷 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
여기에서는, 압축 텍스처 포맷의 내부 구조에 대해 설명한다. 압축 포맷간의 변환에는 Direct3D extension (D3DX) 함수를 사용하기 (위해)때문에, 이러한 정보를 자세하게 알 필요는 없다. 다만, 압축한 표면 데이터를 직접 처리하는 경우는, 이 정보가 도움이 된다.
Microsoft® Direct3D® 에서는, 텍스처 맵을 4 × 4 의 텍셀 블록에 분할하기 위해서 압축 포맷을 사용한다. 텍스처에 투명도가 포함되지 않는 경우 (불투명), 또는 투명도가 1 비트 알파로 지정되는 경우, 8 바이트 블록이 텍스처 맵 블록을 나타낸다. 텍스처 맵에 투과형 텍셀이 포함되는 경우, 알파 채널을 사용해 16 바이트 블록이 텍스처 맵 블록을 나타낸다.
128 비트 블록을 사용하는 경우, 텍스처 전체에 알파 채널을 명시적 (포맷 DXT2 또는 DXT3)으로, 또는 보간 한 모드 (포맷 DXT4 또는 DXT5)로 지정해야 한다. 색의 경우와 같이, 보간 한 모드를 선택 하면, 8 개의 보간 한 알파인가, 블록 단위로 사용할 수 있는 6 개의 보간 한 알파 모드의 어느쪽이든을 사용할 수 있다. 게다가 alpha_0 와 alpha_1 의 값의 비교는, 블록 마다 행해진다.
DXTn 포맷의 피치는, Microsoft DirectX® 7.0 으로 돌려받는 것 과는 달리, 블록의 행을 가리키게 되었다. 예를 들어, 폭이 16 으로 하면, 피치는 4 블록 (DXT1 는 4*8, DXT2 ~ 5 는 4*16)이 된다.