ID3D10Device::OMSetBlendState-Methode (d3d10.h)
Legen Sie den Mischzustand der Output-Merger-Phase fest.
Syntax
void OMSetBlendState(
[in] ID3D10BlendState *pBlendState,
[in] const FLOAT [4] BlendFactor,
[in] UINT SampleMask
);
Parameter
[in] pBlendState
Typ: ID3D10BlendState*
Zeiger auf eine Blendzustandsschnittstelle (siehe ID3D10BlendState). Die Übergabe von NULL impliziert einen Standardmischungszustand. Weitere Informationen finden Sie in den Hinweisen.
[in] BlendFactor
Typ: const FLOAT
Array von Blendfaktoren, eins für jede RGBA-Komponente. Die Blendfaktoren modulieren Werte für den Pixelshader, das Renderziel oder beides. Wenn Sie das Blendzustandsobjekt mit D3D10_BLEND_BLEND_FACTOR oder D3D10_BLEND_INV_BLEND_FACTOR erstellt haben, verwendet die Mischphase das Array von Blendfaktoren ungleich NULL. Wenn Sie das Blendzustandsobjekt nicht mit D3D10_BLEND_BLEND_FACTOR oder D3D10_BLEND_INV_BLEND_FACTOR erstellt haben, verwendet die Überblendphase nicht das Array der Blendfaktoren ungleich NULL. Die Runtime speichert die Blendfaktoren, und Sie können id3D11DeviceContext::OMGetBlendState später aufrufen, um die Blendfaktoren abzurufen. Wenn Sie NULL übergeben, verwendet oder speichert die Runtime einen Mischfaktor gleich { 1, 1, 1, 1 }.
[in] SampleMask
Typ: UINT
32-Bit-Beispielabdeckung. Der Standardwert ist 0xffffffff. Siehe Bemerkungen.
Rückgabewert
Keine
Bemerkungen
Der Blendzustand wird von der Ausgabe-Merger-Phase verwendet, um zu bestimmen, wie zwei RGB-Pixelwerte und zwei Alphawerte miteinander gemischt werden. Die beiden RGB-Pixel- und zwei Alphawerte sind der RGB-Pixel- und der Alphawert, den der Pixelshader ausgibt, sowie der RGB-Pixel- und Alphawert, der bereits im Ausgaberenderungsziel enthalten ist. Die Option blend steuert die Datenquelle, die die Mischphase verwendet, um Werte für den Pixelshader, das Renderziel oder beides zu modulieren. Der Mischvorgang steuert, wie die Mischphase diese modulierten Werte mathematisch kombiniert.
Rufen Sie ID3D10Device::CreateBlendState auf, um eine Blendzustandsschnittstelle zu erstellen.
Die Übergabe von NULL für die Blendzustandsschnittstelle gibt an, dass die Runtime einen Standardmischungszustand festlegen soll. In der folgenden Tabelle sind die Standardmischungsparameter angegeben.
State | Standardwert |
---|---|
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] |
Eine Beispielmaske bestimmt, welche Beispiele in allen aktiven Renderzielen aktualisiert werden. Die Zuordnung von Bits in einer Beispielmaske zu Beispielen in einem Multisample-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 keinen Verweis auf die übergebenen Schnittstellen. Aus diesem Grund sollten Anwendungen darauf achten, keine Schnittstelle freizugeben, die derzeit vom Gerät verwendet wird.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d10.h |
Bibliothek | D3D10.lib |