|
|
我现在设置状态如下:想实现pTexture1,与pTexture2进行透明显示,即1为前景,2为背景,
#define SetTextureColor( dev, i, arg1, op, arg2 ) {dev->SetTextureStageState( i, D3DTSS_COLOROP, op);dev->SetTextureStageState( i, D3DTSS_COLORARG1, arg1 );dev->SetTextureStageState( i, D3DTSS_COLORARG2, arg2 );}
hr |= m_pD3DDevice->SetTexture(0,pTexture1);
hr |= m_pD3DDevice->SetTexture(1,pTexture2);
hr |= m_pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
hr |= m_pD3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
hr |= m_pD3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
hr |= m_pD3DDevice->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);
SetTextureColor( m_pD3DDevice, 0, D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE );
hr |= m_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
问题:
但现在,不能够实现透明显示,只显示为黑色,如果不设置SetTextureColor,则可以显示pTexture1.
不知道如何设置它们的透明度,或者透明颜色(比如指定黑色为透明)
请高手指教,谢谢!
|
|