다음을 통해 공유


DDS 텍스처 예제

압축되지 않은 텍스처의 경우 DDSD_PITCH 및 DDPF_RGB 플래그를 사용합니다. 압축된 텍스처의 경우 DDSD_LINEARSIZE 및 DDPF_FOURCC 플래그를 사용합니다. mipmapped 텍스처의 경우 mipmap 개수 멤버뿐만 아니라 DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP 및 DDSCAPS_COMPLEX 플래그도 사용합니다. mipmap이 생성되면 1-by-1까지의 모든 수준이 일반적으로 기록됩니다.

압축된 텍스처의 경우 각 Mipmap 수준 이미지의 크기는 일반적으로 이전 크기의 1/4이며 최소 8(DXT1) 또는 16(DXT2-5) 바이트(정사각형 텍스처의 경우)입니다. 다음 수식을 사용하여 제곱이 아닌 텍스처에 대한 각 수준의 크기를 계산합니다.

max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)

이 표에는 압축을 사용하지 않고 256-by-256 R8G8B8 텍스처에 대해 각 계층에서 사용하는 공간의 양이 나열되어 있습니다.

DDS 구성 요소 # 바이트
header 128
256-by-256 기본 이미지 196608
128-by-128 mipmap 이미지 49152
64-by-64 mipmap 이미지 12288
32-by-32 mipmap 이미지 3072
16-by-16 mipmap 이미지 768
8-by-8 mipmap 이미지 192
4-by-4 mipmap 이미지 48
2-by-2 mipmap 이미지 12
1-by-1 mipmap 이미지 3

 

이 표에는 압축(DXT1)을 사용하여 동일한 텍스처에 대해 각 계층에서 사용하는 공간의 양이 나열되어 있습니다.

DDS 구성 요소 # 바이트
header 128
256-by-64 기본 이미지 8192
128-by-32 mipmap 이미지 2048
64-by-16 mipmap 이미지 512
32-by-8 mipmap 이미지 128
16-by-4 mipmap 이미지 32
8-by-2 mipmap 이미지 16
4-by-1 mipmap 이미지 8
2-by-1 mipmap 이미지 8
1-by-1 mipmap 이미지 8

 

이 표에는 확장 헤더가 필요한 DXGI 압축 형식(이 경우 BC3_UNORM)을 사용하여 동일한 텍스처에 대해 각 계층에서 사용하는 공간의 양이 나열되어 있습니다.

DDS 구성 요소 # 바이트
header(FourCC가 "DX10"으로 설정됨) 128
확장 헤더(DXGI_FORMAT_BC3_UNORM DXGI 형식으로 설정) 20
256-by-64 기본 이미지 16384
128-by-32 mipmap 이미지 4096
64-by-16 mipmap 이미지 1024
32-by-8 mipmap 이미지 256
16-by-4 mipmap 이미지 64
8-by-2 mipmap 이미지 32
4-by-1 mipmap 이미지 16
2-by-1 mipmap 이미지 16
1-by-1 mipmap 이미지 16

 

DDS 프로그래밍 가이드