DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 텍스처 압축 텍스처 리소스 압축 텍스처 포맷   [목차열람] [주소복사] [슬롯비우기]
압축 텍스처 포맷
 
Microsoft DirectX 9.0

압축 텍스처 포맷


여기에서는, 압축 텍스처 포맷의 내부 구조에 대해 설명한다. 압축 포맷간의 변환에는 Direct3D extension (D3DX) 함수를 사용하기 (위해)때문에, 이러한 정보를 자세하게 알 필요는 없다. 다만, 압축한 표면 데이터를 직접 처리하는 경우는, 이 정보가 도움이 된다.

Microsoft® Direct3D® 에서는, 텍스처 맵을 4 × 4 의 텍셀 블록에 분할하기 위해서 압축 포맷을 사용한다. 텍스처에 투명도가 포함되지 않는 경우 (불투명), 또는 투명도가 1 비트 알파로 지정되는 경우, 8 바이트 블록이 텍스처 맵 블록을 나타낸다. 텍스처 맵에 투과형 텍셀이 포함되는 경우, 알파 채널을 사용해 16 바이트 블록이 텍스처 맵 블록을 나타낸다.

  모든 단일의 텍스처에서는, 16 텍셀의 그룹 마다 64 비트 또는 128 비트로서 저장 되는 데이터를 지정해야 한다. 64 비트 블록 (즉, 포맷 DXT1)이 텍스처용으로 사용되는 경우, 같은 텍스처의 블록 마다 불투명과 1 비트 알파 포맷을 조합할 수가 있다. 즉, color_0 와 color_1 의 부호 없음 정수의 매그니튜드의 비교는, 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)이 된다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP