D3D12_BLEND_DESC structure (d3d12.h)

Décrit l’état de fusion.

Syntaxe

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

Membres

AlphaToCoverageEnable

Spécifie s’il faut utiliser alpha-to-coverage comme technique de multi-échantillonnage lors de la définition d’un pixel sur une cible de rendu. Pour plus d’informations sur l’utilisation de l’alpha-à-couverture, consultez Alpha-To-Coverage.

IndependentBlendEnable

Spécifie s’il faut activer la fusion indépendante dans les cibles de rendu simultanées. Définissez sur TRUE pour activer la fusion indépendante. Si la valeur est FALSE, seuls les membres RenderTarget[0] sont utilisés ; RenderTarget[1..7] sont ignorés.

Consultez la section Remarques pour connaître les restrictions.

RenderTarget[8]

Tableau de structures D3D12_RENDER_TARGET_BLEND_DESC qui décrivent les états de fusion pour les cibles de rendu ; elles correspondent aux huit cibles de rendu qui peuvent être liées à l’étape de fusion de sortie à la fois.

Remarques

Un objet D3D12_GRAPHICS_PIPELINE_STATE_DESC contient une structure d’état de fusion qui contrôle la fusion par l’étape de fusion de sortie et de fusion.

Voici les valeurs par défaut de l’état de fusion.

State Valeur par défaut
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

Lorsque vous définissez le membre LogicOpEnable du premier élément du tableau RenderTarget (RenderTarget[0]) sur TRUE, vous devez également définir le membre BlendEnable de RenderTarget[0] sur FALSE et le membre IndependentBlendEnable de cette structure sur FALSE. Cela reflète la limitation matérielle selon laquelle vous ne pouvez pas combiner des opérations logiques avec la fusion entre plusieurs cibles de rendu, et que lorsque vous utilisez une opération logique, vous devez appliquer la même opération logique à toutes les cibles de rendu.

Notez la structure d’assistance, CD3DX12_BLEND_DESC.

Configuration requise

Condition requise Valeur
En-tête d3d12.h

Voir aussi

Structures de base