다음을 통해 공유


DDS_HEADER 구조체

DDS 파일 헤더에 대해 설명합니다.

구문

typedef struct {
  DWORD           dwSize;
  DWORD           dwFlags;
  DWORD           dwHeight;
  DWORD           dwWidth;
  DWORD           dwPitchOrLinearSize;
  DWORD           dwDepth;
  DWORD           dwMipMapCount;
  DWORD           dwReserved1[11];
  DDS_PIXELFORMAT ddspf;
  DWORD           dwCaps;
  DWORD           dwCaps2;
  DWORD           dwCaps3;
  DWORD           dwCaps4;
  DWORD           dwReserved2;
} DDS_HEADER;

멤버

dwSize

형식: DWORD

구조체의 크기입니다. 이 멤버는 124로 설정해야 합니다.

dwFlags

형식: DWORD

유효한 데이터가 포함된 멤버를 나타내는 플래그입니다.

플래그 설명
DDSD_CAPS 모든 .dds 파일에 필요합니다. 0x1
DDSD_HEIGHT 모든 .dds 파일에 필요합니다. 0x2
DDSD_WIDTH 모든 .dds 파일에 필요합니다. 0x4
DDSD_PITCH 압축되지 않은 텍스처에 대해 피치가 제공될 때 필요합니다. 0x8
DDSD_PIXELFORMAT 모든 .dds 파일에 필요합니다. 0x1000
DDSD_MIPMAPCOUNT mipmapped 텍스처에 필요합니다. 0x20000
DDSD_LINEARSIZE 압축된 텍스처에 피치가 제공될 때 필요합니다. 0x80000
DDSD_DEPTH 깊이 텍스처에 필요합니다. 0x800000

참고

.dds 파일을 작성할 때는 DDSD_CAPS 및 DDSD_PIXELFORMAT 플래그를 설정해야 하며 mipmapped 텍스처의 경우 DDSD_MIPMAPCOUNT 플래그도 설정해야 합니다. 그러나 .dds 파일을 읽을 때 이러한 파일의 일부 기록기가 이러한 플래그를 설정하지 않을 수 있으므로 설정되는 DDSD_CAPS, DDSD_PIXELFORMAT 및 DDSD_MIPMAPCOUNT 플래그에 의존해서는 안 됩니다.

Dds.h에 정의된 DDS_HEADER_FLAGS_TEXTURE 플래그는 DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH 및 DDSD_PIXELFORMAT 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_HEADER_FLAGS_MIPMAP 플래그는 DDSD_MIPMAPCOUNT 플래그와 같습니다.

Dds.h에 정의된 DDS_HEADER_FLAGS_VOLUME 플래그는 DDSD_DEPTH 플래그와 같습니다.

Dds.h에 정의된 DDS_HEADER_FLAGS_PITCH 플래그는 DDSD_PITCH 플래그와 같습니다.

Dds.h에 정의된 DDS_HEADER_FLAGS_LINEARSIZE 플래그는 DDSD_LINEARSIZE 플래그와 같습니다.

dwHeight

형식: DWORD

표면 높이(픽셀)입니다.

dwWidth

형식: DWORD

표면 너비(픽셀)입니다.

dwPitchOrLinearSize

형식: DWORD

압축되지 않은 텍스처의 스캔 라인당 피치 또는 바이트 수입니다. 압축된 텍스처에 대한 최상위 텍스처의 총 바이트 수입니다. 피치를 계산하는 방법에 대한 자세한 내용은 DDS 프로그래밍 가이드의 DDS 파일 레이아웃 섹션을 참조하세요.

dwDepth

형식: DWORD

볼륨 텍스처의 깊이(픽셀)이고, 그렇지 않으면 사용되지 않습니다.

dwMipMapCount

형식: DWORD

Mipmap 수준 수이며, 그렇지 않으면 사용되지 않습니다.

dwReserved1[11]

형식: DWORD

사용되지 않습니다.

ddspf

형식: DDS_PIXELFORMAT

픽셀 형식입니다( DDS_PIXELFORMAT 참조).

dwCaps

형식: DWORD

저장된 표면의 복잡성을 지정합니다.

플래그 설명
DDSCAPS_COMPLEX 선택적; 둘 이상의 표면(mipmap, 입방형 환경 맵 또는 mipmapped 볼륨 텍스처)이 포함된 모든 파일에서 사용해야 합니다. 0x8
DDSCAPS_MIPMAP 선택적; 밉맵에 사용해야 합니다. 0x400000
DDSCAPS_TEXTURE 필수 0x1000

참고

.dds 파일을 작성할 때는 DDSCAPS_TEXTURE 플래그를 설정해야 하며, 여러 표면에 대해 DDSCAPS_COMPLEX 플래그도 설정해야 합니다. 그러나 .dds 파일을 읽을 때는 이러한 파일의 일부 기록기가 이러한 플래그를 설정하지 않을 수 있으므로 설정 중인 DDSCAPS_TEXTURE 및 DDSCAPS_COMPLEX 플래그를 사용하지 않아야 합니다.

Dds.h에 정의된 DDS_SURFACE_FLAGS_MIPMAP 플래그는 DDSCAPS_COMPLEX 및 DDSCAPS_MIPMAP 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_SURFACE_FLAGS_TEXTURE 플래그는 DDSCAPS_TEXTURE 플래그와 같습니다.

Dds.h에 정의된 DDS_SURFACE_FLAGS_CUBEMAP 플래그는 DDSCAPS_COMPLEX 플래그와 같습니다.

dwCaps2

형식: DWORD

저장된 표면에 대한 추가 세부 정보입니다.

플래그 설명
DDSCAPS2_CUBEMAP 큐브 맵에 필요합니다. 0x200
DDSCAPS2_CUBEMAP_POSITIVEX 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x400
DDSCAPS2_CUBEMAP_NEGATIVEX 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x800
DDSCAPS2_CUBEMAP_POSITIVEY 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x1000
DDSCAPS2_CUBEMAP_NEGATIVEY 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x2000
DDSCAPS2_CUBEMAP_POSITIVEZ 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x4000
DDSCAPS2_CUBEMAP_NEGATIVEZ 이러한 표면이 큐브 맵에 저장되는 경우 필요합니다. 0x8000
DDSCAPS2_VOLUME 볼륨 텍스처에 필요합니다. 0x200000

Dds.h에 정의된 DDS_CUBEMAP_POSITIVEX 플래그는 DDSCAPS2_CUBEMAP 플래그와 DDSCAPS2_CUBEMAP_POSITIVEX 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_NEGATIVEX 플래그는 DDSCAPS2_CUBEMAP 플래그와 DDSCAPS2_CUBEMAP_NEGATIVEX 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_POSITIVEY 플래그는 DDSCAPS2_CUBEMAP 플래그와 DDSCAPS2_CUBEMAP_POSITIVEY 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_NEGATIVEY 플래그는 DDSCAPS2_CUBEMAP 플래그와 DDSCAPS2_CUBEMAP_NEGATIVEY 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_POSITIVEZ 플래그는 DDSCAPS2_CUBEMAP 및 DDSCAPS2_CUBEMAP_POSITIVEZ 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_NEGATIVEZ 플래그는 DDSCAPS2_CUBEMAP 플래그와 DDSCAPS2_CUBEMAP_NEGATIVEZ 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_CUBEMAP_ALLFACES 플래그는 DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ 및 DDSCAPS2_CUBEMAP_NEGATIVEZ 플래그의 비트 OR 조합입니다.

Dds.h에 정의된 DDS_FLAGS_VOLUME 플래그는 DDSCAPS2_VOLUME 플래그와 같습니다.

참고

Direct3D 9는 부분 큐브 맵을 지원하지만 Direct3D 10, 10.1 및 11은 6개의 큐브 맵 얼굴을 모두 정의해야 합니다(즉, DDS_CUBEMAP_ALLFACES 설정해야 합니다).

dwCaps3

형식: DWORD

사용되지 않습니다.

dwCaps4

형식: DWORD

사용되지 않습니다.

dwReserved2

형식: DWORD

사용되지 않습니다.

설명

유효한 데이터를 포함하는 구조체의 멤버에 대한 플래그를 dwFlags 에 포함합니다.

이 구조체를 DDS_HEADER_DXT10 함께 사용하여 DDS 파일에 리소스 배열을 저장합니다. 자세한 내용은 텍스처 배열을 참조하세요.

DDS_HEADER DirectDraw 종속성이 없는 DirectDraw DDSURFACEDESC2 구조체와 동일합니다.

요구 사항

요구 사항
헤더
Dds.h

추가 정보

DDS에 대한 참조