Condividi tramite


struttura D3D12_BLEND_DESC (d3d12.h)

Descrive lo stato di fusione.

Sintassi

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

Members

AlphaToCoverageEnable

Specifica se usare alpha-to-coverage come tecnica di multicampionamento quando si imposta un pixel su una destinazione di rendering. Per altre info sull'uso di alpha-to-coverage, vedi Alpha-To-Coverage.

IndependentBlendEnable

Specifica se abilitare la fusione indipendente in destinazioni di rendering simultanee. Impostare su TRUE per abilitare la fusione indipendente. Se impostato su FALSE, vengono usati solo i membri RenderTarget[0]. RenderTarget[1..7] viene ignorato.

Vedere la sezione Osservazioni per le restrizioni.

RenderTarget[8]

Matrice di strutture D3D12_RENDER_TARGET_BLEND_DESC che descrivono gli stati di fusione per le destinazioni di rendering; corrispondono alle otto destinazioni di rendering che possono essere associate alla fase di fusione dell'output contemporaneamente.

Commenti

Un oggetto D3D12_GRAPHICS_PIPELINE_STATE_DESC contiene una struttura dello stato blend che controlla la fusione in base alla fase di unione dell'output.

Ecco i valori predefiniti per lo stato di fusione.

State Valore predefinito
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

Quando si imposta il membro LogicOpEnable del primo elemento della matrice RenderTarget (RenderTarget[0]) su TRUE, è inoltre necessario impostare il membro BlendEnable di RenderTarget[0] su FALSE e il membro IndependentBlendEnable di questa struttura su FALSE. Ciò riflette la limitazione nell'hardware che non è possibile combinare le operazioni logiche con la fusione tra più destinazioni di rendering e che quando si usa un'operazione logica, è necessario applicare la stessa operazione logica a tutte le destinazioni di rendering.

Si noti la struttura dell'helper CD3DX12_BLEND_DESC.

Requisiti

Requisito Valore
Intestazione d3d12.h

Vedi anche

Strutture principali