Combinación de texturas alfa (Direct3D 9)
El motor de iluminación combina el color del material, el color del vértice y la información de iluminación para generar un color por vértice. Una vez interpolada, esto genera un color por píxel que se escribe en el búfer de fotogramas. Si una aplicación habilita la combinación de texturas, el color del píxel se convertirá en una combinación del píxel actual en el búfer de fotogramas y un color de textura.
Esta fórmula determina el color del píxel combinado final:
Color = TexelColor x SourceBlend + CurrentPixelColor x DestBlend
Donde:
- El color es el color del píxel de salida.
- TexelColor es el color de entrada después del filtrado de texturas.
- SourceBlend es el porcentaje del color de píxel final formado por el color de textura de origen.
- CurrentPixelColor es el color del píxel actual.
- DestBlend es el porcentaje del color de píxel final que se compone del color del píxel actual.
La ecuación de fusión final se establece llamando a IDirect3DDevice9::SetRenderState y especificando el estado de representación de mezcla (D3DRS_BLENDXXX) con un factor de mezcla correspondiente (D3DBLEND). Los valores de SourceBlend y DestBlend van de 0,0 (transparente) a 1,0 (opaco). Además, una aplicación puede controlar la transparencia de un píxel estableciendo el valor alfa en una textura. En este caso, use lo siguiente:
SourceBlend = D3DBLEND_ZERO
DestBlend = D3DBLEND_ONE
La ecuación de mezcla hará que el píxel representado sea transparente. Los valores predeterminados son:
SourceBlend = D3DBLEND_SRCALPHA
DestBlend = D3DBLEND_INVSRCALPHA
Temas relacionados