Compartilhar via


Renderizar o Destino Alfa (Direct3D 9)

O liquidificador de buffer de quadro agora pode combinar canais alfa independentes da mesclagem de canal de cores em destinos de renderização. Esse controle é habilitado com um novo estado de renderização, D3DRS_SEPARATEALPHABLENDENABLE.

Quando D3DRS_SEPARATEALPHABLENDENABLE é definido como FALSE (que é a condição padrão), os fatores de mesclagem de destino de renderização e as operações aplicadas ao alfa são os mesmos definidos para a combinação de canais de cores. Um driver precisa definir o limite de D3DPMISCCAPS_SEPARATEALPHABLEND para indicar que ele pode dar suporte à mesclagem alfa de destino de renderização. Certifique-se de habilitar D3DRS_ALPHABLEND para informar ao pipeline que a mesclagem 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 

Assim como o D3DRS_SRCBLEND e D3DRS_DESTBLEND, eles podem ser definidos como um dos valores na enumeração D3DBLEND . As configurações de combinação 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 maneira:

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

Em que:

  • alfaem é o valor alfa de entrada.
  • srcBlendOp é um dos fatores de mesclagem em D3DBLEND.
  • O BlendOp é um dos fatores de mesclagem em D3DBLENDOP.
  • alphart é o valor alfa de destino de renderização.
  • destBlendOp é um dos fatores de mesclagem em D3DBLEND.
  • renderTargetAlpha é o valor alfa combinado final.

Mistura alfa