ID3D11DeviceContext::OMSetBlendState-Methode (d3d11.h)

Legen Sie den Mischzustand der Ausgabe-Merger-Phase fest.

Syntax

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

Parameter

[in, optional] pBlendState

Typ: ID3D11BlendState*

Zeiger auf eine Mischzustandsschnittstelle (siehe ID3D11BlendState). Übergeben Sie NULL für einen Standard-Mischzustand. Weitere Informationen zum Standard-Mischzustand finden Sie unter Hinweise.

[in, optional] BlendFactor

Typ: const FLOAT[4]

Array von Mischfaktoren, eins für jede RGBA-Komponente. Die Mischungsfaktoren modulieren Werte für den Pixel-Shader, das Renderziel oder beides. Wenn Sie das Blendzustandsobjekt mit D3D11_BLEND_BLEND_FACTOR oder D3D11_BLEND_INV_BLEND_FACTOR erstellt haben, verwendet die Mischphase das Nicht-NULL-Array von Mischfaktoren. Wenn Sie das Blendzustandsobjekt nicht mit D3D11_BLEND_BLEND_FACTOR oder D3D11_BLEND_INV_BLEND_FACTOR erstellt haben, verwendet die Mischphase nicht das Array von Mischfaktoren ohne NULL. die Runtime speichert die Mischfaktoren, und Sie können später ID3D11DeviceContext::OMGetBlendState aufrufen, um die Mischfaktoren abzurufen. Wenn Sie NULL übergeben, verwendet oder speichert die Runtime einen Mischfaktor von { 1, 1, 1, 1 }.

[in] SampleMask

Typ: UINT

32-Bit-Beispielabdeckung. Der Standardwert ist 0xffffffff. Siehe Bemerkungen.

Rückgabewert

Keine

Bemerkungen

Der Mischzustand wird von der Ausgabe-Fusionsstufe verwendet, um zu bestimmen, wie zwei RGB-Pixelwerte und zwei Alphawerte miteinander kombiniert werden. Die beiden RGB-Pixelwerte und zwei Alphawerte sind der RGB-Pixelwert und der Alphawert, den der Pixel-Shader ausgibt, sowie der RGB-Pixel- und Alphawert, der bereits im Ausgaberenderungsziel enthalten ist. Die Option blend steuert die Datenquelle, die die Blendingstufe verwendet, um Werte für den Pixel-Shader, das Renderziel oder beides zu modulieren. Der Mischvorgang steuert, wie die Mischphase diese modulierten Werte mathematisch kombiniert.

Um eine Blend-State-Schnittstelle zu erstellen, rufen Sie ID3D11Device::CreateBlendState auf.

Die Übergabe von NULL für die Blendzustandsschnittstelle gibt an, dass die Runtime einen Standard-Mischzustand festlegen soll. In der folgenden Tabelle sind die Standardmischungsparameter angegeben.

State Standardwert
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]. BlendEnable 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]. RenderTargetWriteMask D3D11_COLOR_WRITE_ENABLE_ALL
 

Eine Beispielmaske bestimmt, welche Beispiele in allen aktiven Renderzielen aktualisiert werden. Die Zuordnung von Bits in einer Beispielmaske zu Beispielen in einem Multisampel-Renderziel liegt in der Verantwortung einer einzelnen Anwendung. Eine Beispielmaske wird immer angewendet. Sie ist unabhängig davon, ob Multisampling aktiviert ist, und hängt nicht davon ab, ob eine Anwendung Multisample-Renderziele verwendet.

Die -Methode enthält einen Verweis auf die übergebenen Schnittstellen. Dies unterscheidet sich vom Gerätestatusverhalten in Direct3D 10.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext