Archived

This topic is now archived and is closed to further replies.

Alpha Blending in DirectX/D3D

Recommended Posts

Mark Tanner    100
Hi, I have two questions regarding alpha blending in Direct3D, can anyone help me with this? 1. I want to ''fade out'' a polygon using alpha. Rather than modifying the actual alpha values in the texture, which is very slow, is there a way I can do this nicely (maybe with renderstate settings?) 2. I am creating shadows for characters, this works fine but it would be nice to have alpha blended shadows so that the ground shows through. However, since these are real-time shadows (i.e. flattening the geometry into a plane) I get a LOT of back-to-front rendering artifacts when enabling alphablending because of back-to-front rendering polys on top of each other. Is there a correct way of doing this? Thanks for any help! Mark

Share on other sites
POINT    122
the way i do it is, i modify the material RGB values depending on the alpha value:

  D3DUtil_InitMaterial( m_Material, m_colRED * m_fAlpha, m_colGREEN * m_fAlpha, m_colBLUE * m_fAlpha, 1.0f);

where RED, GREEN, BLUE and m_fAlpha are in range 0<=x<=1, you get the idea...

(note: D3DRENDERSTATE_ALPHABLENDENABLE must be set to true using SetRenderState)