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


структура D3D12_BLEND_DESC (d3d12.h)

Описывает состояние смешения.

Синтаксис

typedef struct D3D12_BLEND_DESC {
  BOOL                           AlphaToCoverageEnable;
  BOOL                           IndependentBlendEnable;
  D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;

Члены

AlphaToCoverageEnable

Указывает, следует ли использовать альфа-охват в качестве метода множественной выборки при настройке пикселя для целевого объекта отрисовки. Дополнительные сведения об использовании альфа-охвата см. в разделе Альфа-охват.

IndependentBlendEnable

Указывает, следует ли включать независимое смешивание в целевых объектах одновременной отрисовки. Задайте значение TRUE , чтобы включить независимое смешивание. Если задано значение FALSE, используются только члены RenderTarget[0]; RenderTarget[1..7] игнорируются.

Ограничения см. в разделе Примечания .

RenderTarget[8]

Массив D3D12_RENDER_TARGET_BLEND_DESC структур, описывающих состояния смешения для целевых объектов отрисовки; они соответствуют восьми целевым объектам отрисовки, которые можно одновременно привязать к этапу слияния и вывода .

Комментарии

Объект D3D12_GRAPHICS_PIPELINE_STATE_DESC содержит структуру состояния смешения, которая управляет смешением на этапе вывода и слияния.

Ниже приведены значения по умолчанию для состояния смешения.

Состояние Значение по умолчанию
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]. BlendEnable FALSE
RenderTarget[0]. LogicOpEnable FALSE
RenderTarget[0]. SrcBlend D3D12_BLEND_ONE
RenderTarget[0]. DestBlend D3D12_BLEND_ZERO
RenderTarget[0]. BlendOp D3D12_BLEND_OP_ADD
RenderTarget[0]. SrcBlendAlpha D3D12_BLEND_ONE
RenderTarget[0]. DestBlendAlpha D3D12_BLEND_ZERO
RenderTarget[0]. BlendOpAlpha D3D12_BLEND_OP_ADD
RenderTarget[0]. LogicOp D3D12_LOGIC_OP_NOOP
RenderTarget[0]. RenderTargetWriteMask D3D12_COLOR_WRITE_ENABLE_ALL

Если для элемента LogicOpEnable первого элемента массива RenderTarget (RenderTarget[0]) задано значение TRUE, необходимо также задать для элемента BlendEnableRenderTarget[0] значение FALSE, а для элемента IndependentBlendEnable этой структуры — значение FALSE. Это отражает ограничение оборудования, из-за того, что нельзя сочетать логические операции с смешением между несколькими целевыми объектами отрисовки, и что при использовании логической операции необходимо применять одну и ту же логику ко всем целевым объектам отрисовки.

Обратите внимание на вспомогательную структуру CD3DX12_BLEND_DESC.

Требования

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

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

Базовые структуры