estrutura D3D12_BLEND_DESC (d3d12.h)

Descreve o estado de combinação.

Sintaxe

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

Membros

AlphaToCoverageEnable

Especifica se deve usar a alpha-to-coverage como uma técnica de multisampling ao definir um pixel como um destino de renderização. Para obter mais informações sobre como usar a alpha-to-coverage, consulte Alpha-To-Coverage.

IndependentBlendEnable

Especifica se a combinação independente deve ser habilitada em destinos de renderização simultâneos. Defina como TRUE para habilitar a mesclagem independente. Se definido como FALSE, somente os membros RenderTarget[0] serão usados; RenderTarget[1..7] são ignorados.

Consulte a seção Comentários para obter restrições.

RenderTarget[8]

Uma matriz de estruturas de D3D12_RENDER_TARGET_BLEND_DESC que descrevem os estados de combinação para destinos de renderização; correspondem aos oito destinos de renderização que podem ser associados ao estágio de fusão de saída de uma só vez.

Comentários

Um objeto D3D12_GRAPHICS_PIPELINE_STATE_DESC contém uma estrutura de estado de mesclagem que controla a mesclagem pelo estágio de fusão de saída.

Aqui estão os valores padrão para o estado de mesclagem.

Estado Valor padrão
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

Ao definir o membro LogicOpEnable do primeiro elemento da matriz RenderTarget (RenderTarget[0]) como TRUE, você também deve definir o membro BlendEnable de RenderTarget[0] como FALSE e o membro IndependentBlendEnable dessa estrutura como FALSE. Isso reflete a limitação no hardware de que você não pode misturar operações lógicas com a mesclagem entre vários destinos de renderização e que, ao usar uma operação lógica, você deve aplicar a mesma operação lógica a todos os destinos de renderização.

Observe a estrutura auxiliar , CD3DX12_BLEND_DESC.

Requisitos

Requisito Valor
Cabeçalho d3d12.h

Confira também

Estruturas do núcleo