Partilhar via


Renderizar alfa de destino (Direct3D 9)

O misturador de buffer de quadros agora pode misturar canais alfa independentes da mistura de canais de cores em destinos de renderização. Esse controle é habilitado com um novo estado de renderização, D3DRS_SEPARATEALPHABLENDENABLE.

Quando D3DRS_SEPARATEALPHABLENDENABLE é definido como FALSO (que é a condição padrão), os fatores de mistura de destino de renderização e as operações aplicadas ao alfa são os mesmos definidos para mesclar canais de cores. Um driver precisa definir o limite de D3DPMISCCAPS_SEPARATEALPHABLEND para indicar que ele pode suportar a mistura alfa de destino de renderização. Certifique-se de permitir que D3DRS_ALPHABLEND informe ao pipeline que a mistura alfa é necessária.

Para controlar os fatores no canal alfa dos liquidificadores de destino de renderização, dois novos estados de renderização são definidos da seguinte maneira:

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

Como os D3DRS_SRCBLEND e D3DRS_DESTBLEND, eles podem ser definidos como um dos valores na enumeração D3DBLEND. As configurações de mistura de origem e destino podem ser combinadas de várias maneiras, dependendo das configurações nos membros SrcBlendCaps e DestBlendCaps do D3DCAPS9.

A mistura alfa é feita da seguinte forma:

renderTargetAlpha = (alfaem * srcBlendOp) BlendOp (alphart * destBlendOp)

Em que:

  • alfa em é o valor alfa de entrada.
  • srcBlendOp é um dos fatores de mistura em D3DBLEND.
  • BlendOp é um dos fatores de mistura em D3DBLENDOP.
  • Alpha RT é o valor alfa de destino de renderização.
  • destBlendOp é um dos fatores de mistura em D3DBLEND.
  • renderTargetAlpha é o valor alfa combinado final.

Mistura alfa