структура D3D11_BLEND_DESC1 (d3d11_1.h)
Описывает состояние смешения, используемое в вызове D3D11Device1::CreateBlendState1 для создания объекта состояния наложения.
Примечание
Эта структура поддерживается средой выполнения Direct3D 11.1, которая доступна в операционных системах Windows 8 и более поздних версий.
Синтаксис
typedef struct D3D11_BLEND_DESC1 {
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;
Члены
AlphaToCoverageEnable
Тип: BOOL
Указывает, следует ли использовать альфа-охват в качестве метода множественной дискретизации при настройке пикселя для целевого объекта отрисовки. Дополнительные сведения об использовании альфа-покрытия см. в разделе Альфа-охват.
IndependentBlendEnable
Тип: BOOL
Указывает, следует ли включить независимое смешивание в одновременном целевом объекте отрисовки. Задайте значение TRUE , чтобы включить независимое наложение. Если задано значение FALSE, используются только члены RenderTarget[0]; RenderTarget[1..7] игнорируются.
Ограничения см. в разделе Примечания .
RenderTarget[8]
Тип: D3D11_RENDER_TARGET_BLEND_DESC1[8]
Массив D3D11_RENDER_TARGET_BLEND_DESC1 структур, описывающих состояния смешения для целевых объектов отрисовки; они соответствуют восьми целевым объектам отрисовки, которые одновременно могут быть привязаны к этапу слияния и вывода .
Комментарии
Ниже приведены значения по умолчанию для состояния наложения.
Состояние | Значение по умолчанию |
---|---|
AlphaToCoverageEnable | FALSE |
IndependentBlendEnable | FALSE |
RenderTarget[0]. BlendEnable | FALSE |
RenderTarget[0]. LogicOpEnable | FALSE |
RenderTarget[0]. SrcBlend | D3D11_BLEND_ONE |
RenderTarget[0]. DestBlend | D3D11_BLEND_ZERO |
RenderTarget[0]. BlendOp | D3D11_BLEND_OP_ADD |
RenderTarget[0]. SrcBlendAlpha | D3D11_BLEND_ONE |
RenderTarget[0]. DestBlendAlpha | D3D11_BLEND_ZERO |
RenderTarget[0]. BlendOpAlpha | D3D11_BLEND_OP_ADD |
RenderTarget[0]. LogicOp | D3D11_LOGIC_OP_NOOP |
RenderTarget[0]. RenderTargetWriteMask | D3D11_COLOR_WRITE_ENABLE_ALL |
Если для типа драйвера задано значение D3D_DRIVER_TYPE_HARDWARE, то уровень компонентов меньше или равен D3D_FEATURE_LEVEL_9_3, а формат пикселей целевого объекта отрисовки — DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB или DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, устройство отображения выполняет смешивание в стандартном пространстве RGB (sRGB), а не в линейном пространстве. Однако если для уровня компонентов задано значение больше D3D_FEATURE_LEVEL_9_3, устройство отображения выполняет смешения в линейном пространстве, что является идеальным вариантом.
Если для элемента LogicOpEnable первого элемента массива RenderTarget (RenderTarget[0]) задано значение TRUE, необходимо также задать для элемента BlendEnableRenderTarget[0] значение FALSE, а для элемента IndependentBlendEnable этого D3D11_BLEND_DESC1значение FALSE. Это отражает ограничение оборудования, из-за того, что вы не можете смешивать логические операции со смешением между несколькими целевыми объектами отрисовки, и что при использовании операции логики необходимо применить одну и ту же операцию логики ко всем целевым объектам отрисовки.
Требования
Минимальная версия клиента | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP] |
Верхняя часть | d3d11_1.h |