Renderuj docelową alfa (Direct3D 9)
Blender ramek może teraz mieszać kanały alfa niezależne od łączenia kanałów kolorów na elementach docelowych renderowania. Ta kontrolka jest włączona z nowym stanem renderowania, D3DRS_SEPARATEALPHABLENDENABLE.
Gdy D3DRS_SEPARATEALPHABLENDENABLE jest ustawiona na wartość false (co jest warunkiem domyślnym), czynniki i operacje łączenia elementów docelowych renderowania stosowane do alfa są takie same jak te zdefiniowane dla kanałów kolorów mieszanych. Sterownik musi ustawić limit D3DPMISCCAPS_SEPARATEALPHABLEND, aby wskazać, że może obsługiwać mieszanie alfa elementu docelowego renderowania. Pamiętaj, aby włączyć D3DRS_ALPHABLEND, aby poinformować potok, że wymagane jest mieszanie alfa.
Aby kontrolować czynniki w kanale alfa blenderów render-target, dwa nowe stany renderowania są definiowane w następujący sposób:
D3DRS_SRCBLENDALPHA
D3DRS_DESTBLENDALPHA
Podobnie jak D3DRS_SRCBLEND i D3DRS_DESTBLEND, można je ustawić na jedną z wartości w wyliczenie D3DBLEND. Ustawienia mieszania źródłowego i docelowego można łączyć na kilka sposobów, w zależności od ustawień w elementach członkowskich SrcBlendCaps i DestBlendCaps D3DCAPS9.
Mieszanie alfa odbywa się w następujący sposób:
renderTargetAlpha = (alphain * srcBlendOp) BlendOp (alphart * destBlendOp)
Gdzie:
- alfa w jest wartością wejściową alfa.
- srcBlendOp jest jednym z czynników mieszanych w D3DBLEND.
- BlendOp jest jednym z czynników mieszania w D3DBLENDOP.
- alfart jest wartością alfa docelową renderowania.
- destBlendOp jest jednym z czynników mieszania w D3DBLEND.
- renderTargetAlpha jest ostateczną wartością mieszaną alfa.
Tematy pokrewne