Alpha Blending in DirectX/D3D

Started by
1 comment, last by Mark Tanner 23 years, 9 months ago
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
Advertisement
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)
This is regarding your second question. Look in the sdk for information about the zbias renderstate, that should help.

*** Triality ***
*** Triality ***

This topic is closed to new replies.

Advertisement