Original Post
Hey I'm trying to do particle effects with Point sprites in DirectX 9. I'm having trouble with changing the alpha value. I use a png with a alpha background. I've also tried using a bmp with renderstate BLEND_ONE but no luck. This is how I do it: The size and colors works fine when I'm changing it, but the alpha isn't affected. Any idea what I'm doing wrong? Thanks in advance for replies
struct PointVertex
{
D3DXVECTOR3 m_Pos;
float m_Size;
D3DCOLOR m_Color;
};
#define FVF_POINTVERTEX (D3DFVF_XYZ | D3DFVF_PSIZE | D3DFVF_DIFFUSE )
// Set render states before rendering
a_Device->SetRenderState(D3DRS_POINTSPRITEENABLE, TRUE); a_Device->SetRenderState(D3DRS_POINTSCALEENABLE, TRUE); a_Device->SetRenderState(D3DRS_POINTSIZE, FtoDW(m_Size)); a_Device->SetRenderState(D3DRS_POINTSIZE_MIN, FtoDW(0.0f));
a_Device->SetRenderState(D3DRS_POINTSCALE_A, FtoDW(0.0f));
a_Device->SetRenderState(D3DRS_POINTSCALE_B, FtoDW(0.0f));
a_Device->SetRenderState(D3DRS_POINTSCALE_C, FtoDW(1.0f));
a_Device->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);
a_Device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
a_Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
a_Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
// Example setting colors
vertices->m_Color = 0x11ffffff;
// Render the point sprites veritices
// jada jada