Compartilhar via


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

Mesclagem de textura

Filtragem de textura (Direct3D 9)

D3DRENDERSTATETYPE