Partager via


structure D3D11_BLEND_DESC1 (d3d11_1.h)

Décrit l’état de fusion que vous utilisez dans un appel à D3D11Device1::CreateBlendState1 pour créer un objet blend-state.

Notes

Cette structure est prise en charge par le runtime Direct3D 11.1, disponible sur les systèmes d’exploitation Windows 8 et versions ultérieures.

Syntaxe

typedef struct D3D11_BLEND_DESC1 {
  BOOL                            AlphaToCoverageEnable;
  BOOL                            IndependentBlendEnable;
  D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;

Membres

AlphaToCoverageEnable

Type : BOOL

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-to-coverage, consultez Alpha-to-Coverage.

IndependentBlendEnable

Type : BOOL

Spécifie s’il faut activer la fusion indépendante dans des 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.

Pour connaître les restrictions, consultez la section Remarques .

RenderTarget[8]

Type : D3D11_RENDER_TARGET_BLEND_DESC1[8]

Tableau de structures D3D11_RENDER_TARGET_BLEND_DESC1 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 sortie-fusion à la fois.

Remarques

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

State Valeur par défaut
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]. BlendEnable FALSE
RenderTarget[0]. LogicOpEnable FALSE
RenderTarget[0]. SrcBlend D3D11_BLEND_ONE
RenderTarget[0]. DestBlend D3D11_BLEND_ZERO
RenderTarget[0]. BlendOp D3D11_BLEND_OP_ADD
RenderTarget[0]. SrcBlendAlpha D3D11_BLEND_ONE
RenderTarget[0]. DestBlendAlpha D3D11_BLEND_ZERO
RenderTarget[0]. BlendOpAlpha D3D11_BLEND_OP_ADD
RenderTarget[0]. LogicOp D3D11_LOGIC_OP_NOOP
RenderTarget[0]. RenderTargetWriteMask D3D11_COLOR_WRITE_ENABLE_ALL

Si le type de pilote est défini sur D3D_DRIVER_TYPE_HARDWARE, que le niveau de fonctionnalité est inférieur ou égal à D3D_FEATURE_LEVEL_9_3 et que le format de pixels de la cible de rendu est défini sur DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB ou DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, le périphérique d’affichage effectue la fusion dans l’espace RVB standard (sRGB) et non dans l’espace linéaire. Toutefois, si le niveau de fonctionnalité est défini sur supérieur à D3D_FEATURE_LEVEL_9_3, l’appareil d’affichage effectue la fusion dans l’espace linéaire, ce qui est idéal.

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 ce D3D11_BLEND_DESC1sur FALSE. Cela reflète la limitation du matériel 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.

Configuration requise

   
Client minimal pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
En-tête d3d11_1.h

Voir aussi

Structures principales

D3D11_RENDER_TARGET_BLEND_DESC1

ID3D11BlendState1::GetDesc1