структура 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
-
Флаги, указывающие, какие элементы содержат допустимые данные.
Flag Описание Значение 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_HEADER_FLAGS_TEXTURE, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH и DDSD_PIXELFORMAT.
Флаг DDS_HEADER_FLAGS_MIPMAP, определенный в Dds.h, равен флагу DDSD_MIPMAPCOUNT.
Флаг DDS_HEADER_FLAGS_VOLUME, определенный в Dds.h, равен флагу DDSD_DEPTH.
Флаг DDS_HEADER_FLAGS_PITCH, определенный в Dds.h, равен флагу DDSD_PITCH.
Флаг DDS_HEADER_FLAGS_LINEARSIZE, определенный в Dds.h, равен флагу DDSD_LINEARSIZE.
-
dwHeight
-
Тип: DWORD
-
Высота поверхности (в пикселях).
-
dwWidth
-
Тип: DWORD
-
Ширина поверхности (в пикселях).
-
dwPitchOrLinearSize
-
Тип: DWORD
-
Шаг или количество байтов на строку сканирования в несжатой текстуре; общее количество байтов в текстуре верхнего уровня для сжатой текстуры. Сведения о том, как вычислить тон, см. в разделе Макет файла DDS руководства по программированию для DDS.
-
dwDepth
-
Тип: DWORD
-
Глубина текстуры тома (в пикселях), в противном случае не используется.
-
dwMipMapCount
-
Тип: DWORD
-
Количество уровней MIP-карты, в противном случае не используется.
-
dwReserved1[11]
-
Тип: DWORD
-
Не используется.
-
ddspf
-
Тип: DDS_PIXELFORMAT
-
Формат пикселей (см . DDS_PIXELFORMAT).
-
dwCaps
-
Тип: DWORD
-
Указывает сложность хранимых поверхностей.
Flag Описание Значение DDSCAPS_COMPLEX Дополнительные; должен использоваться для любого файла, содержащего несколько поверхностей (MIP-карта, кубическая карта среды или текстура тома mipmapped). 0x8 DDSCAPS_MIPMAP Дополнительные; должен использоваться для MIP-карты. 0x400000 DDSCAPS_TEXTURE Обязательно 0x1000 Примечание
При записи DDS-файлов следует установить флаг DDSCAPS_TEXTURE, а для нескольких поверхностей — флаг DDSCAPS_COMPLEX. Однако при чтении DDS-файла не следует полагаться на DDSCAPS_TEXTURE и DDSCAPS_COMPLEX флаги, так как некоторые записи такого файла могут не устанавливать эти флаги.
Флаг DDS_SURFACE_FLAGS_MIPMAP, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS_COMPLEX и DDSCAPS_MIPMAP.
Флаг DDS_SURFACE_FLAGS_TEXTURE, определенный в Dds.h, равен флагу DDSCAPS_TEXTURE.
Флаг DDS_SURFACE_FLAGS_CUBEMAP, определенный в Dds.h, равен флагу DDSCAPS_COMPLEX.
-
dwCaps2
-
Тип: DWORD
-
Дополнительные сведения о хранящихся поверхностях.
Flag Описание Значение 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_CUBEMAP_POSITIVEX, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_POSITIVEX.
Флаг DDS_CUBEMAP_NEGATIVEX, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_NEGATIVEX.
Флаг DDS_CUBEMAP_POSITIVEY, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_POSITIVEY.
Флаг DDS_CUBEMAP_NEGATIVEY, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_NEGATIVEY.
Флаг DDS_CUBEMAP_POSITIVEZ, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_POSITIVEZ.
Флаг DDS_CUBEMAP_NEGATIVEZ, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDSCAPS2_CUBEMAP и DDSCAPS2_CUBEMAP_NEGATIVEZ.
Флаг DDS_CUBEMAP_ALLFACES, определенный в Dds.h, представляет собой побитовое или сочетание флагов DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ и DDSCAPS2_CUBEMAP_NEGATIVEZ.
Флаг DDS_FLAGS_VOLUME, определенный в Dds.h, равен флагу DDSCAPS2_VOLUME.
Примечание
Хотя Direct3D 9 поддерживает частичные кубовые карты, Direct3D 10, 10.1 и 11 требует определения всех шести граней кубической карты (то есть необходимо задать DDS_CUBEMAP_ALLFACES).
-
dwCaps3
-
Тип: DWORD
-
Не используется.
-
dwCaps4
-
Тип: DWORD
-
Не используется.
-
dwReserved2
-
Тип: DWORD
-
Не используется.
Комментарии
Включите флаги в dwFlags для членов структуры, содержащих допустимые данные.
Используйте эту структуру в сочетании с DDS_HEADER_DXT10 для хранения массива ресурсов в DDS-файле. Дополнительные сведения см. в разделе Массивы текстур.
DDS_HEADER идентична структуре DirectDraw DDSURFACEDESC2 без зависимостей DirectDraw.
Требования
Требование | Значение |
---|---|
Заголовок |
|