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 |
관련 항목