ID3D10Device::OMSetBlendState, méthode (d3d10.h)

Définissez l’état de fusion de l’étape de fusion de sortie.

Syntaxe

void OMSetBlendState(
  [in] ID3D10BlendState *pBlendState,
  [in] const FLOAT [4]  BlendFactor,
  [in] UINT             SampleMask
);

Paramètres

[in] pBlendState

Type : ID3D10BlendState*

Pointeur vers une interface d’état mixte (voir ID3D10BlendState). Le passage de null implique un état de fusion par défaut. Pour plus d’informations, consultez les remarques.

[in] BlendFactor

Type : const FLOAT

Tableau de facteurs de fusion, un pour chaque composant RVBA. Les facteurs de fusion modulent les valeurs du nuanceur de pixels, de la cible de rendu ou des deux. Si vous avez créé l’objet blend-state avec D3D10_BLEND_BLEND_FACTOR ou D3D10_BLEND_INV_BLEND_FACTOR, l’étape de fusion utilise le tableau non NULL de facteurs de fusion. Si vous n’avez pas créé l’objet d’état de fusion avec D3D10_BLEND_BLEND_FACTOR ou D3D10_BLEND_INV_BLEND_FACTOR, l’étape de fusion n’utilise pas le tableau non NULL de facteurs de fusion ; le runtime stocke les facteurs de fusion, et vous pouvez ensuite appeler ID3D11DeviceContext::OMGetBlendState pour récupérer les facteurs de fusion. Si vous transmettez null, le runtime utilise ou stocke un facteur de fusion égal à { 1, 1, 1, 1 }.

[in] SampleMask

Type : UINT

Couverture de l’échantillon 32 bits. La valeur par défaut est 0xffffffff. Consultez la section Remarques.

Valeur de retour

None

Remarques

L’état de fusion est utilisé par l’étape sortie-fusion pour déterminer comment fusionner deux valeurs de pixels RVB et deux valeurs alpha. Les deux valeurs de pixel RVB et deux valeurs alpha sont la valeur de pixel RVB et la valeur alpha que le nuanceur de pixels génère, ainsi que la valeur de pixel RVB et la valeur alpha déjà dans la cible de rendu de sortie. L’option de fusion contrôle la source de données que l’étape de fusion utilise pour moduler les valeurs du nuanceur de pixels, de la cible de rendu ou des deux. L’opération de fusion contrôle la façon dont l’étape de fusion combine mathématiquement ces valeurs modulées.

Pour créer une interface blend-state, appelez ID3D10Device::CreateBlendState.

Le passage de null pour l’interface d’état de fusion indique au runtime qu’il doit définir un état de fusion par défaut. Le tableau suivant indique les paramètres de fusion par défaut.

State Valeur par défaut
AlphaToCoverageEnable FALSE
BlendEnable FALSE[8]
SrcBlend D3D10_BLEND_ONE
DstBlend D3D10_BLEND_ZERO
BlendOp D3D10_BLEND_OP_ADD
SrcBlendAlpha D3D10_BLEND_ONE
DstBlendAlpha D3D10_BLEND_ZERO
BlendOpAlpha D3D10_BLEND_OP_ADD
RenderTargetWriteMask[8] D3D10_COLOR_WRITE_ENABLE_ALL[8]
 

Un exemple de masque détermine quels exemples sont mis à jour dans toutes les cibles de rendu actives. Le mappage des bits d’un exemple de masque à des exemples dans une cible de rendu à échantillonnage multiple est la responsabilité d’une application individuelle. Un exemple de masque est toujours appliqué ; il est indépendant de l’activation du multi-échantillonnage et ne dépend pas du fait qu’une application utilise ou non des cibles de rendu à échantillonnage multiple.

La méthode ne contient pas de référence aux interfaces passées. Pour cette raison, les applications doivent veiller à ne pas libérer une interface actuellement utilisée par l’appareil.

Configuration requise

   
Plateforme cible Windows
En-tête d3d10.h
Bibliothèque D3D10.lib

Voir aussi

ID3D10Device Interface