Alpha blending state (Direct3D 9)

Der Alphawert einer Farbe steuert die Transparenz. Durch aktivieren der Alphamischung können Farben, Materialien und Texturen auf einer Oberfläche mit Transparenz auf einer anderen Oberfläche gemischt werden.

Weitere Informationen finden Sie unter Alpha Texture Blending (Direct3D 9) und Texture Blending (Direct3D 9).

In C++ geschriebene Anwendungen verwenden den D3DRS_ALPHABLENDENABLE Renderzustand, um die Alphatransparenz zu aktivieren. Die Direct3D-API ermöglicht viele Arten von Alpha-Blending. Es ist jedoch wichtig zu beachten, dass die 3D-Hardware des Benutzers möglicherweise nicht alle von Direct3D zulässigen Mischzustände unterstützt.

Die Art der Alphamischung hängt von den D3DRS_SRCBLEND Und D3DRS_DESTBLEND Renderzuständen ab. Quell- und Zielmischungszustände werden paarweise verwendet. Im folgenden Codebeispiel wird veranschaulicht, wie der Quellmischungszustand auf D3DBLEND_SRCCOLOR und der Zielmischungszustand auf D3DBLEND_INVSRCCOLOR festgelegt wird.

// 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);

Das Ändern der Quell- und Zielmischungszustände kann das Aussehen emissiver Objekte in einer nebligen oder staubigen Atmosphäre geben. Wenn Ihre Anwendung Flammen, Kraftfelder, Plasmastrahlen oder ähnlich strahlende Objekte in einer nebligen Umgebung modelliert, legen Sie für instance die Quell- und Zielmischungszustände auf D3DBLEND_ONE fest.

Eine weitere Anwendung des Alpha-Blendings ist die Steuerung der Beleuchtung in einer 3D-Szene, auch Lichtmapping genannt. Wenn Sie den Quellmischungszustand auf D3DBLEND_ZERO und den Ziel-Mischzustand auf D3DBLEND_SRCALPHA festlegen, wird eine Szene gemäß den Quell-Alphainformationen verdunkelt. Das Quellgrundiv wird als lichte Karte verwendet, die den Inhalt des Framepuffers skaliert, um ihn gegebenenfalls abzudunken. Dies erzeugt eine monochrome Lichtzuordnung.

Sie können die Farblichtzuordnung erreichen, indem Sie den Quell-Alpha-Blending-Zustand auf D3DBLEND_ZERO und den Ziel blend-Zustand auf D3DBLEND_SRCCOLOR festlegen.

Renderzustände