Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Framepuffer-Blender kann jetzt Alphakanäle unabhängig von der Farbkanalvermischung bei Renderzielen mischen. Dieses Steuerelement ist mit einem neuen Renderzustand D3DRS_SEPARATEALPHABLENDENABLE aktiviert.
Wenn D3DRS_SEPARATEALPHABLENDENABLE auf FALSE- festgelegt ist (dies ist die Standardbedingung), sind die auf Alpha angewendeten Renderzielmischungsfaktoren und -operationen identisch mit denen, die für die Vermischung von Farbkanälen definiert sind. Ein Treiber muss die D3DPMISCCAPS_SEPARATEALPHABLEND Cap festlegen, um anzugeben, dass er die Renderziel-Alphamischung unterstützen kann. Achten Sie darauf, D3DRS_ALPHABLEND zu aktivieren, um der Pipeline mitzuteilen, dass die Alphamischung erforderlich ist.
Um die Faktoren im Alphakanal der Renderziel-Blender zu steuern, werden zwei neue Renderzustände wie folgt definiert:
D3DRS_SRCBLENDALPHA
D3DRS_DESTBLENDALPHA
Wie die D3DRS_SRCBLEND und D3DRS_DESTBLEND können diese auf einen der Werte in der D3DBLEND-Enumeration festgelegt werden. Die Einstellungen für Quell- und Zielmischungen können auf verschiedene Arten kombiniert werden, abhängig von den Einstellungen in den Membern "SrcBlendCaps" und "DestBlendCaps" von D3DCAPS9.
Die Alphamischung erfolgt wie folgt:
renderTargetAlpha = (Alpha-in * srcBlendOp) BlendOp (Alphart * destBlendOp)
Wo:
- Alpha-in ist der Eingabe-Alphawert.
- srcBlendOp ist einer der Mischungsfaktoren in D3DBLEND.
- BlendOp ist einer der Mischungsfaktoren in D3DBLENDOP.
- alphart ist der Alphawert des Renderziels.
- destBlendOp ist einer der Mischungsfaktoren in D3DBLEND.
- renderTargetAlpha ist der endgültige gemischte Alphawert.
Verwandte Themen