압축된 텍스처 리소스(Direct3D 9)

텍스처 맵은 더 선명하게 표시되도록 3차원 셰이프에 그려지는 디지털화된 이미지입니다. 래스터화 중 이러한 셰이프에 텍스처 맵이 매핑되고 프로세스에서 시스템 버스와 메모리를 많이 사용할 수 있습니다. 텍스처에서 사용하는 메모리 양을 줄이기 위해 Direct3D에서 텍스처 표면의 압축을 지원합니다. 일부 Some Direct3D 디바이스는 기본적으로 압축된 텍스처 표면을 지원합니다. 이러한 디바이스에서 압축된 표면을 만들고 여기에 데이터를 로드하면 표면을 Direct3D에서 다른 텍스처 표면처럼 사용할 수 있습니다. Direct3D는 3D 개체에 텍스처 매핑 시 압축 풀기를 처리합니다.

스토리지 효율성 및 텍스처 압축

모든 텍스처 압축 형식은 2의 제곱입니다. 그렇다고 텍스처가 반드시 사각형이어야 하는 것은 아니지만 x와 y 둘 다 2의 제곱입니다. 예를 들어, 텍스처가 512 x 128바이트인 경우 다음 MIP 매핑은 256 x 64입니다(각 단계가 2의 제곱씩 감소). 텍스처가 16 x 2와 8 x 1로 필터링되는 하위 수준에서는 압축 블록이 항상 4 x 4의 텍셀 블록이기 때문에 불필요하게 사용되는 비트가 있습니다. 블록의 미사용 부분은 패딩됩니다. 최저 수준에서 불필요하게 사용되는 비트가 있어도 전체적으로는 확실히 이익입니다. 이론상 최악의 경우는 2000 x 1 텍스처(2⁰ 제곱)입니다. 여기에서 블록당 하나의 픽셀 행만 인코딩되고 나머지 블록은 사용되지 않습니다.

단일 텍스처 내에서 형식 혼합

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

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

Direct3D는 3D 모델 텍스처링에 사용되는 표면을 압축하는 서비스를 제공합니다. 이 섹션에서는 압축된 텍스처 표면에서 데이터를 만들고 조작하는 방법에 대한 정보를 제공합니다.

정보는 다음 topics 포함되어 있습니다.

Direct3D 텍스처