Mistura de textura alfa (Direct3D 9)
O mecanismo de iluminação combina a cor do material, a cor do vértice e as informações de iluminação para gerar uma cor por vértice. Depois de interpolado, isso gera uma cor por pixel que é gravada no buffer de quadros. Se um aplicativo habilitar a mesclagem de textura, a cor do pixel se tornará uma combinação do pixel atual no buffer de quadros e uma cor de textura.
Esta fórmula determina a cor final do pixel combinado:
Color = TexelColor x SourceBlend + CurrentPixelColor x DestBlend
Em que:
- Cor é a cor do pixel de saída.
- TexelColor é a cor de entrada após a filtragem de textura.
- SourceBlend é a porcentagem da cor de pixel final composta pela cor texel de origem.
- CurrentPixelColor é a cor do pixel atual.
- DestBlend é a porcentagem da cor de pixel final composta pela cor do pixel atual.
A equação de combinação final é definida chamando IDirect3DDevice9::SetRenderState e especificando o estado de renderização de combinação (D3DRS_BLENDXXX) com um fator de combinação correspondente (D3DBLEND). Os valores de SourceBlend e DestBlend variam de 0,0 (transparente) a 1,0 (opaco) inclusivo. Além disso, um aplicativo pode controlar a transparência de um pixel definindo o valor alfa em uma textura. Nesse caso, use o seguinte:
SourceBlend = D3DBLEND_ZERO
DestBlend = D3DBLEND_ONE
A equação de mesclagem fará com que o pixel renderizado seja transparente. Os valores padrão são:
SourceBlend = D3DBLEND_SRCALPHA
DestBlend = D3DBLEND_INVSRCALPHA
Tópicos relacionados