|
|

楼主 |
发表于 2006-4-19 19:48:00
|
显示全部楼层
Re:sprite->draw如何将带alpha通道的图片显示出来?
嘿嘿 发现你这里的确很不错
不过我的问题还没有得到解决
g_pD3DDevice->SetRenderState (D3DRS_CULLMODE , D3DCULL_CCW);
g_pD3DDevice->SetRenderState (D3DRS_LIGHTING,FALSE);
g_pD3DDevice->SetRenderState (D3DRS_ZENABLE,D3DZB_TRUE);
//alpha blend
g_pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
g_pD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
g_pD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
g_pD3DDevice->SetRenderState(D3DRS_NORMALIZENORMALS, TRUE);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_ANISOTROPIC);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_ANISOTROPIC);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MAXANISOTROPY,16);
我开了D3DRS_ALPHABLENDENABLE
pSprite->Begin( D3DXSPRITE_ALPHABLEND );
pSprite->Draw( g_pTexture,
&srcRect,
&vCenter,
&vPosition,
D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f) );
pSprite->End ();
可是却什么也没有显示 出来 这是为什么? |
|