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 |