Compartilhar via


Renderizar Destino Alfa (Direct3D 9)

O liquidificador de buffer de quadro agora pode misturar canais alfa independentemente da mesclagem de canal de cores em destinos de renderização. Esse controle está 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 mesclar canais de cores. Um driver precisa definir o limite de D3DPMISCCAPS_SEPARATEALPHABLEND para indicar que ele pode dar suporte à combinação alfa de destino de renderização. Certifique-se de habilitar D3DRS_ALPHABLEND para informar 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 

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 = (alfa em * srcBlendOp) BlendOp (alfart * destBlendOp)

Onde:

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

de Combinação Alfa