Render Target Alpha (Direct3D 9)

El combinador de búfer de fotogramas ahora puede combinar canales alfa independientemente de la combinación de canales de color en los destinos de representación. Este control está habilitado con un nuevo estado de representación, D3DRS_SEPARATEALPHABLENDENABLE.

Cuando D3DRS_SEPARATEALPHABLENDENABLE se establece en FALSE (que es la condición predeterminada), los factores de combinación de destino de representación y las operaciones aplicadas a alpha son los mismos que los definidos para combinar canales de color. Un controlador debe establecer el límite de D3DPMISCCAPS_SEPARATEALPHABLEND para indicar que puede admitir la combinación alfa de destino de representación. Asegúrese de habilitar D3DRS_ALPHABLEND para indicar a la canalización que se necesita la combinación alfa.

Para controlar los factores en el canal alfa de los blenders de destino de representación, se definen dos nuevos estados de representación como se indica a continuación:

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

Al igual que el D3DRS_SRCBLEND y la D3DRS_DESTBLEND, estos se pueden establecer en uno de los valores de la enumeración D3DBLEND . La configuración de mezcla de origen y destino se puede combinar de varias maneras, según la configuración de los miembros SrcBlendCaps y DestBlendCaps de D3DCAPS9.

La combinación alfa se realiza de la siguiente manera:

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

Donde:

  • alphaen es el valor alfa de entrada.
  • srcBlendOp es uno de los factores de mezcla de D3DBLEND.
  • BlendOp es uno de los factores de mezcla de D3DBLENDOP.
  • alphart es el valor alfa render-target.
  • destBlendOp es uno de los factores de mezcla de D3DBLEND.
  • renderTargetAlpha es el valor alfa combinado final.

Combinación alfa