Alpha Blending State (Direct3D 9)
La valeur alpha d’une couleur contrôle sa transparence. L’activation du mélange alpha permet aux couleurs, aux matériaux et aux textures d’une surface d’être fusionnés avec transparence sur une autre surface.
Pour plus d’informations, consultez Fusion de textures alpha (Direct3D 9) et Fusion de textures (Direct3D 9).
Les applications écrites en C++ utilisent l’état de rendu D3DRS_ALPHABLENDENABLE pour activer le mélange de transparence alpha. L’API Direct3D autorise de nombreux types de fusion alpha. Toutefois, il est important de noter que le matériel 3D de l’utilisateur peut ne pas prendre en charge tous les états de fusion autorisés par Direct3D.
Le type de fusion alpha qui est effectué dépend des états de rendu D3DRS_SRCBLEND And D3DRS_DESTBLEND . Les états de fusion source et de destination sont utilisés par paires. L’exemple de code suivant montre comment l’état de fusion source est défini sur D3DBLEND_SRCCOLOR et l’état de fusion de destination est défini sur D3DBLEND_INVSRCCOLOR.
// This code example assumes that d3dDevice is a
// valid pointer to an IDirect3DDevice9 interface.
// Set the source blend state.
d3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
// Set the destination blend state.
d3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
La modification des états de fusion source et de destination peut donner l’apparence d’objets émissifs dans une atmosphère brumeuse ou poussiéreuse. Par instance, si votre application modélise des flammes, des champs de force, des faisceaux de plasma ou des objets rayonnants similaires dans un environnement brumeux, définissez les états de fusion source et de destination sur D3DBLEND_ONE.
Une autre application du mélange alpha consiste à contrôler l’éclairage dans une scène 3D, également appelée mappage de lumière. Définir l’état de fusion source sur D3DBLEND_ZERO et l’état de fusion de destination sur D3DBLEND_SRCALPHA assombrit une scène en fonction des informations alpha de la source. La primitive source est utilisée comme carte claire qui met à l’échelle le contenu de la mémoire tampon de trame pour l’assombrir le cas échéant. Cela produit un mappage de lumière monochrome.
Vous pouvez obtenir un mappage des couleurs en définissant l’état de fusion alpha source sur D3DBLEND_ZERO et l’état de fusion de destination sur D3DBLEND_SRCCOLOR.
Rubriques connexes