Поделиться через


структура DDS_PIXELFORMAT

Формат пикселей Surface.

Синтаксис

struct DDS_PIXELFORMAT {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwFourCC;
  DWORD dwRGBBitCount;
  DWORD dwRBitMask;
  DWORD dwGBitMask;
  DWORD dwBBitMask;
  DWORD dwABitMask;
};

Члены

dwSize

Тип: DWORD

Размер структуры; значение 32 (байт).

dwFlags

Тип: DWORD

Значения, указывающие, какой тип данных находится на поверхности.

Flag Описание Значение
DDPF_ALPHAPIXELS Текстура содержит альфа-данные; DwRGBAlphaBitMask содержит допустимые данные. 0x1
DDPF_ALPHA Используется в некоторых старых DDS-файлах только для несжатых данных альфа-канала (dwRGBBitCount содержит битовую учетную запись альфа-канала, dwABitMask — допустимые данные). 0x2
DDPF_FOURCC Текстура содержит сжатые данные RGB; DwFourCC содержит допустимые данные. 0x4
DDPF_RGB Текстура содержит несжатые rgb-данные; DwRGBBitCount и маски RGB (dwRBitMask, dwGBitMask, dwBBitMask) содержат допустимые данные. 0x40
DDPF_YUV Используется в некоторых старых DDS-файлах для несжатых данных YUV (dwRGBBitCount содержит число битов YUV; dwRBitMask содержит маску Y, dwGBitMask — маску U, dwBBitMask — маску V). 0x200
DDPF_LUMINANCE Используется в некоторых более старых DDS-файлах для одноканалового цвета несжатых данных (dwRGBBitCount содержит число битов канала яркости, dwRBitMask — маску канала). Можно объединить с DDPF_ALPHAPIXELS для файла DDS с двумя каналами. 0x20000

dwFourCC

Тип: DWORD

Коды из четырех символов для указания сжатых или пользовательских форматов. Возможные значения: DXT1, DXT2, DXT3, DXT4 или DXT5. Значение FourCC dx10 указывает на предопределение расширенного заголовка DDS_HEADER_DXT10 , а элемент dxgiFormat этой структуры указывает на истинный формат. При использовании четырехзначного кода dwFlags должны включать DDPF_FOURCC.

dwRGBBitCount

Тип: DWORD

Количество битов в формате RGB (возможно, включая альфа). Допустимо, если dwFlags включает DDPF_RGB, DDPF_LUMINANCE или DDPF_YUV.

dwRBitMask

Тип: DWORD

Красная маска (или яркости или Y) для чтения цветовых данных. Например, при использовании формата A8R8G8B8 красная маска будет 0x00ff0000.

dwGBitMask

Тип: DWORD

Зеленая маска (или U) для чтения цветовых данных. Например, учитывая формат A8R8G8B8, зеленая маска будет 0x0000ff00.

dwBBitMask

Тип: DWORD

Синяя (или V) маска для чтения цветовых данных. Например, при использовании формата A8R8G8B8 синяя маска будет 0x000000ff.

dwABitMask

Тип: DWORD

Альфа-маска для чтения альфа-данных. Файлы dwFlag должны включать DDPF_ALPHAPIXELS или DDPF_ALPHA. Например, при использовании формата A8R8G8B8 альфа-маска будет 0xff000000.

Комментарии

Для хранения форматов DXGI, таких как данные с плавающей запятой, используйте dwFlags DDPF_FOURCC и задайте для параметра dwFourCC значение "D", "X", "1", "0". Используйте заголовок расширения DDS_HEADER_DXT10 для сохранения формата DXGI в элементе dxgiFormat .

Обратите внимание, что существуют нестандартные варианты файлов DDS, в которых dwFlags имеет DDPF_FOURCC, а значение dwFourCC устанавливается непосредственно в D3DFORMAT или DXGI_FORMAT значении перечисления. С помощью этой нестандартной схемы невозможно устранить неоднозначные значения D3DFORMAT и DXGI_FORMAT, поэтому рекомендуется использовать заголовок расширения DX10.

Требования

Требование Значение
Заголовок
Dds.h

См. также раздел

Справочник по DDS