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 |