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


структура 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

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

Основные структуры

D3D11_RENDER_TARGET_BLEND_DESC1

ID3D11BlendState1::GetDesc1