怎样设置RenderTarget的背景色为透明?该怎么解决
怎样设置RenderTarget的背景色为透明?
我想在往RenderTarget里渲染一些东西,然后取出来保存成一张带alpha通道的png图片...
但是这样做,图片的一些半透明区域混合了RenderTarget Clear时设置的背景色...
怎么办??
------解决方案--------------------
SrcBlend=SrcAlpha;
DestBlend=DESTALPHA;
这样试试,还不行的话,再加上一句
SeparateAlphaBlendEnable=true;
固定管线下面这么设置:
m_d3dDevice->SetRenderState(D3DRS_SRCBLENDALPHA,D3DBLEND_SRCALPHA);
m_d3dDevice->SetRenderState(D3DRS_DESTBLENDALPHA,D3DBLEND_DESTALPHA);
m_d3dDevice->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE,TRUE);
再不行的话,自己试试D3DBLEND的不同组合。
我想在往RenderTarget里渲染一些东西,然后取出来保存成一张带alpha通道的png图片...
但是这样做,图片的一些半透明区域混合了RenderTarget Clear时设置的背景色...
怎么办??
------解决方案--------------------
SrcBlend=SrcAlpha;
DestBlend=DESTALPHA;
这样试试,还不行的话,再加上一句
SeparateAlphaBlendEnable=true;
固定管线下面这么设置:
m_d3dDevice->SetRenderState(D3DRS_SRCBLENDALPHA,D3DBLEND_SRCALPHA);
m_d3dDevice->SetRenderState(D3DRS_DESTBLENDALPHA,D3DBLEND_DESTALPHA);
m_d3dDevice->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE,TRUE);
再不行的话,自己试试D3DBLEND的不同组合。