Структура DDSCAPS2 (ddraw.h)
Структура DDSCAPS2 определяет дополнительные возможности поверхностного объекта Microsoft DirectDraw.
Синтаксис
typedef struct _DDSCAPS2 {
DWORD dwCaps;
DWORD dwCaps2;
DWORD dwCaps3;
union {
DWORD dwCaps4;
DWORD dwVolumeDepth;
} DUMMYUNIONNAMEN;
} DDSCAPS2;
Члены
dwCaps
Задает набор флагов, представляющих возможности поверхности. Флаги в этом элементе идентичны флагам в соответствующем элементе структуры DDSCAPS .
dwCaps2
Задает набор флагов, указывающих дополнительные возможности поверхности. Этот элемент может содержать один или несколько следующих флагов возможностей. Каждый из этих флагов, за исключением DDSCAPS2_TEXTUREMANAGE, устанавливается приложением, когда приложение вызывает свой метод CreateSurface .
Flag | Значение |
---|---|
DDSCAPS2_ADDITIONALPRIMARY |
Только Microsoft DirectX 9.0 и более поздних версий. Указывает, что подчиненные головки карта с несколькими головами больше не управляют своей видеопамяти после создания поверхностей для подчиненных голов с этим набором битов. После того как такие поверхности разрушаются, подчиненные руководители восстанавливают контроль над своей памятью. Дополнительные сведения см. в разделе Управление памятью Multiple-Head. |
DDSCAPS2_COMMANDBUFFER |
Помечает буфер команд, используемый Microsoft Direct3D для пакетных команд. |
DDSCAPS2_CUBEMAP |
Эта поверхность представляет собой кубическую карту среды. При использовании этого флага также укажите лицо или грани создаваемой схемы кубических сред. |
DDSCAPS2_CUBEMAP_POSITIVEX |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания положительной стороны X кубической карты среды. |
DDSCAPS2_CUBEMAP_NEGATIVEX |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания отрицательного X-лица кубической карты среды. |
DDSCAPS2_CUBEMAP_POSITIVEY |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания положительной грани Y кубической карты среды. |
DDSCAPS2_CUBEMAP_NEGATIVEY |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания отрицательной грани Y на кубической карте среды. |
DDSCAPS2_CUBEMAP_POSITIVEZ |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания положительного Z-лица кубической карты среды. |
DDSCAPS2_CUBEMAP_NEGATIVEZ |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания отрицательного Z-лица кубической карты среды. |
DDSCAPS2_CUBEMAP_ALLFACES |
Этот флаг используется вместе с флагом DDSCAPS2_CUBEMAP для создания всех шести граней кубической карты среды. |
DDSCAPS2_D3DTEXTUREMANAGE |
Текстура всегда управляется Direct3D. |
DDSCAPS2_DISCARDBACKBUFFER |
Только DirectX 8.0 и более поздних версий. Указывает, что сохранение заднего буфера не требуется. Он будет установлен на основной поверхности и в задних буферах, если приложение настроило D3DSWAPEFFECT_DISCARD в API Present. Только DirectX 9.0 и более поздних версий. Указывает, что сохранение поверхности трафарета глубины не требуется. |
DDSCAPS2_DONOTPERSIST |
Управляемую поверхность можно безопасно потерять. |
DDSCAPS2_ENABLEALPHACHANNEL |
Только DirectX 8.1 и более поздних версий. Указывает на создание поверхностей, которые являются частью основной цепочки перелистывания или находятся в автономных задних буферах. Этот флаг включает альфа-канал. Дополнительные сведения см. в разделе Включение альфа-каналов в Full-Screen задних буферах. |
DDSCAPS2_EXTENDEDFORMATPRIMARY |
Только DirectX 9.0 и более поздних версий. Указывает на создание фиктивной основной поверхности для использования с нестандартным режимом отображения. Дополнительные сведения см. в разделе Переключение между стандартным и нестандартным режимами. |
DDSCAPS2_HARDWAREDEINTERLACE |
Драйвер должен преобразовать чередуемый сигнал в прогрессивные кадры. В этой структуре также должны быть установлены флаги DDSCAPS_VIDEOPORT и DDSCAPS_OVERLAY. |
DDSCAPS2_HINTANTIALIASING |
Приложение будет использовать сглаживание. Этот флаг действителен, только если также установлен флаг DDSCAPS_3DDEVICE. |
DDSCAPS2_HINTDYNAMIC |
Приложение будет часто обновлять поверхность. На поверхностях с этим флагом также должен быть установлен флаг DDSCAPS_TEXTURE в этом наборе структуры. Этот флаг нельзя использовать с флагами DDSCAPS2_HINTSTATIC или DDSCAPS2_OPAQUE. |
DDSCAPS2_HINTSTATIC |
Приложение будет обновлять поверхность нечасто, но по-прежнему требует доступа. На поверхностях с этим флагом также должен быть установлен флаг DDSCAPS_TEXTURE в этом наборе структуры. Этот флаг нельзя использовать с флагами DDSCAPS2_HINTDYNAMIC или DDSCAPS2_OPAQUE. |
DDSCAPS2_INDEXBUFFER |
Только DirectX 8.0 и более поздних версий. Помечает буфер индекса, созданный и контролируемый приложением. |
DDSCAPS2_MIPMAPSUBLEVEL |
Это упрощает использование GetAttachedSurface вместо EnumAttachedSurfaces для конструкций поверхности, таких как карты куба, в которых к корневой поверхности подключено несколько поверхностей MIP-карты. Его следует задать на всех поверхностях нетопового уровня в схеме куба mipmapped, чтобы вызов GetAttachedSurface можно было различать лица верхнего уровня и подключенные уровни MIP-карты. Этот бит возможности игнорируется в CreateSurface. |
DDSCAPS2_NOTUSERLOCKABLE |
Только DirectX 8.0 и более поздних версий. Установите для основного и заднего буферов, если переворачивающаяся цепочка не блокируется, или на любом целевом объекте отрисовки, который не блокируется. Это позволяет драйверам выполнять закулисную оптимизацию. Обратите внимание, что по-прежнему можно заблокировать поверхности, поэтому водитель должен обрабатывать эти случаи, но такие блокировки происходят редко и не должны быть быстрыми. Драйвер также может определить, блокируется ли буфер глубины или трафарета по наличию этого флага. |
DDSCAPS2_NPATCHES |
Только DirectX 8.0 и более поздних версий. Указывает, что данные буфера вершин можно использовать для отрисовки n-исправлений. |
DDSCAPS2_OPAQUE |
Приложение никогда не будет блокировать, щелкать или обновлять поверхность до конца времени существования этой поверхности. Драйвер может сжимать или изменять порядок поверхности, не распаковывая ее. На поверхностях с этим флагом также должен быть установлен флаг DDSCAPS_TEXTURE в этом наборе структуры. Этот флаг нельзя использовать с флагами DDSCAPS2_HINTDYNAMIC или DDSCAPS2_HINTSTATIC. |
DDSCAPS2_POINTS |
Только DirectX 8.0 и более поздних версий. Указывает, что данные буфера вершин можно использовать для отрисовки точек и спрайтов точек. |
DDSCAPS2_RTPATCHES |
Только DirectX 8.0 и более поздних версий. Указывает, что данные буфера вершин можно использовать для отрисовки rt-patch. |
DDSCAPS2_STEREOSURFACELEFT |
Эта поверхность является частью цепочки переворачивания стерео. Если этот флаг установлен во время вызова CreateSurface , для каждого буфера в основной цепочке переворачивания создается пара стерео surfaces. Необходимо создать сложную цепочку перелистывания (с обратными буферами). Нельзя создать один набор стерео surfaces. Метод Flip требует задних буферов, поэтому необходимо создать не менее 4 поверхностей. Кроме того, если этот флаг установлен в структуре DDSURFACEDESC в результате вызова EnumDisplayModes или GetDisplayMode , он указывает на поддержку стерео в этом режиме. |
DDSCAPS2_TEXTUREMANAGE |
Клиент указывает, что эта поверхность текстуры должна управляться драйвером, если это возможно; в противном случае он управляется direct3D Immediate Mode. Этот флаг можно использовать только для поверхностей текстур (DDSCAPS_TEXTURE флаг, установленный в элементе dwCaps ). Дополнительные сведения см. в разделе Автоматическое управление текстурами в документации по direct3D Immediate Mode. |
DDSCAPS2_VERTEXBUFFER |
Помечает явный буфер вершин, созданный и контролируемый приложением. |
DDSCAPS2_VOLUME |
Только DirectX 8.0 и более поздних версий. Этот флаг устанавливается, если текстура имеет глубину в дополнение к ширине и высоте. |
dwCaps3
Только версии DirectX 8.0 и DirectX 8.1.
Указывает количество выборок для поверхности с несколькими выборками. Это поле содержит одно из значений перечисленного типа D3DMULTISAMPLE_TYPE. Если поверхность не является множественной дискретной, dwCaps3 имеет значение D3DMULTISAMPLE_NONE (0).
Только DirectX 9.0 и более поздних версий.
Задает набор битов, указывающих на дополнительные возможности поверхности. Этот элемент может быть побитовой или из следующих битов.
Bits | Значение |
---|---|
Биты в маске DDSCAPS3_MULTISAMPLE_MASK (0x0000001FL). |
Первые пять битов dwCaps3 указывают количество выборок для поверхности с несколькими выборками. Количество выборок можно указать с помощью одного из значений перечисленного типа D3DMULTISAMPLE_TYPE. Если поверхность не является множественной дискретной, это значение равно D3DMULTISAMPLE_NONE (0). |
Биты в маске DDSCAPS3_MULTISAMPLE_QUALITY_MASK (0x000000E0L). |
Следующие три бита dwCaps3 указывают на уровень качества отрисовки образцов в поверхности с несколькими выборками. Уровень качества должен быть числом от 0 до 7, которое представляет уровень качества от 1 до 8 соответственно. Обратите внимание, что даже если поверхность не является множественной дискретной (указана в первых пяти битах с помощью D3DMULTISAMPLE_NONE), она по-прежнему может иметь уровень качества больше 1 (задается с помощью числа больше 0). |
DDSCAPS3_RESERVED1 (0x00000100L) | Зарезервировано |
DDSCAPS3_VIDEO (0x00000200L) | Указывает, что целевой объект отрисовки содержит видеоданные. Обратите внимание, что с этим флагом можно создать несколько целевых объектов отрисовки, и если два или более из этих целевых объектов отрисовки принадлежат одному и тому же контексту Direct3D, драйвер определяет, что эти целевые объекты отрисовки отображают один и тот же видеопоток независимо от того, подключены ли целевые поверхности отрисовки друг к другу. |
DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L) | Указывает, имеет ли эта поверхность упрощенные уровни MIP. |
DDSCAPS3_AUTOGENMIPMAP (0x00000800L) | Указывает, что подобласти MIP для этой поверхности создаются автоматически. |
DDSCAPS3_DMAP (0x00001000L) | Указывает текстуру карты смещения, которая может быть отбираема с помощью образца карты смещения в блоке тесселяции. |
DUMMYUNIONNAMEN
Н/Д
DUMMYUNIONNAMEN.dwCaps4
Нижнее слово — это глубина текстуры громкости.
DUMMYUNIONNAMEN.dwVolumeDepth
Задает битовую глубину текстуры тома.
Комментарии
Эта структура используется драйвером для создания отчетов о типах поверхностей, поддерживаемых драйвером. Он также заполняется приложением, чтобы указать тип создаваемой поверхности.
Требования
Верхняя часть | ddraw.h |