Прочитать на английском

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


D3DPRESENTFLAG

Константы, используемые D3DPRESENT_PARAMETERS.

#define значение Description
D3DPRESENTFLAG_DEVICECпакет интерфейса пользователя 0x00000004 Закрепите окно в клиентской области окна в области экрана монитора видеоадаптера, создавшего устройство Direct3D. D3DPRESENTFLAG_DEVICECпакет интерфейса пользователя недопустимо в D3DSWAPEFFECT_Fпакет интерфейса пользователя EX.
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 Установите этот флаг при создании цепочки устройств или буферов, чтобы включить отключение z-buffer карта ing. Если этот флаг задан, содержимое буфера элементов глубины будет недопустимым после вызова метода Present или SetDepthStencilSurface с другой поверхностью глубины. Дис карта при использовании данных z-буфера может повысить производительность и зависит от драйвера. Среда выполнения отладки будет применять отключение карта путем очистки z-буфера до некоторого константного значения после вызова Present или SetDepthStencilSurface с другой поверхностью глубины.
Не карта D3DFMT_D32F_LOCKABLE данные z-буфера являются незаконными для всех блокируемых форматов, D3DFMT_D16_LOCKABLE и D3DFMT_D32F_LOCKABLE. Любое использование CreateDevice с указанием заблокированного формата и z-буфера dis карта ing завершится ошибкой. Дополнительные сведения о форматах см. в D3DFORMAT.
D3DPRESENTFLAG_LOCKABLE_BACКБ UFFER 0x00000001 Установите этот флаг, если приложению требуется возможность заблокировать буфер обратно. Обратите внимание, что резервные буферы не блокируются, если приложение не указывает D3DPRESENTFLAG_LOCKABLE_BACКБ UFFER при вызове CreateDevice или Reset. Блокируемые буферы обратно повлечет за собой затраты на производительность в некоторых конфигурациях графического оборудования. Выполнение операции блокировки (или использование UpdateSurface для записи) на буфере блокировки снижает производительность во многих карта. В этом случае рекомендуется использовать текстурированные треугольники для перемещения данных в задний буфер.
Различия между Direct3D 9 и Direct3D 9Ex:
В Direct3D9Ex этот флаг нельзя задать, если D3DSWAPEFFECT D3DSWAPEFFECT_Fпакет интерфейса пользователя EX, так как модель переверки позволяет диспетчеру окон рабочего стола получить доступ к обратному буферу приложения. Межпроцессный общий поверхность не должен быть заблокирован.

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 Поворотные мониторы обрабатываются автоматически с поворотным копированием во время презентации, что не очень эффективно. Этот флаг означает, что приложение будет выполнять собственный поворот отображения.
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

Приложения могут достичь собственной смены, возможно, с помощью матрицы вращаемого представления. Методы GetDisplayModeEx и GetAdapterDisplayModeEx должны использоваться для поиска текущего параметра поворота. Параметры backbuffer Width and Height в CreateDeviceEx и ResetEx должны использовать альбомную ориентацию, а структура режима полноэкранного отображения должна совпадать с тем, что возвращается из EnumAdapterModesEx (т. е. ширина и высота переключаются при повороте 90 и 270 градусов).

При использовании блокировки для поворачиваемых целевых объектов отрисовки верхний левый угол больше не сохраняет значение true, целевой объект отрисовки SURFACE_DESC останется ландшафтным (как подразумевалось параметрами создания), а окно GDI, координаты мыши и такие координаты должны быть правильно преобразованы при использовании с целевым объектом отрисовки Direct3D и сценой.

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 Используйте этот флаг, чтобы указать любой режим отображения RAW, перечисляемый адаптером дисплея, даже если Direct3D, возможно, указал, что режим недопустим. Приложение должно реализовать это надежно, если требуемый режим действительно недопустим.
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

D3DPRESENTFLAG_VIDEO 0x00000010 Это указание драйверу, который буферы задней части будут содержать видеоданные.
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 Указывает, является ли наложение полным диапазоном RGB или ограниченным диапазоном RGB. Установка этого флага означает ограниченный диапазон RGB. В ограниченном диапазоне RGB диапазон сжат таким образом, что 16:16:16 является черным и 235:235:235:235 является белым.
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 Указывает, является ли наложение BT.601 или BT.709. Установка этого флага указывает BT.709 для телевизора с высоким определением (HDTV).
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 Указывает, является ли наложение обычным YCbCr или расширенным YCbCr (xvYCC). Установка этого флага означает расширенный YCbCr (xvYCC).
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 Установка этого флага указывает, что цепочка буферов содержит защищенное содержимое и автоматически приводит к ограничению доступа к цепочке буферов, чтобы использовать цепочку буферов только для рабочего стола Windows Manager (DWM).
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 Установка этого флага означает, что драйвер должен ограничить доступ к любым общим ресурсам, созданным для взаимодействия DWM. Вызывающий объект должен создать канал, прошедший проверку подлинности, с драйвером. Затем драйвер должен разрешить доступ к процессам, которые пытаются открыть эти общие ресурсы.
Различия между Direct3D 9 и Direct3D 9Ex:
Этот флаг доступен только в Direct3D 9Ex.

 

 

Эти константы используются D3DPRESENT_PARAMETERS.

Константные сведения

Требование Значение
Заголовок d3d9types.h
Минимальная операционная система Windows 98

 

Константы Direct3D