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 |