|
我想实现两个多边形之间的ADD混合(就是直接将两个多边形上的纹理色值相加),我这样设置了State
d3d9_device->SetRenderState(D3DRS_ALPHABLENDENABLE,true);
d3d9_device->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
d3d9_device->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
d3d9_device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
d3d9_device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
d3d9_device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT);
d3d9_device->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
d3d9_device->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
d3d9_device->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_CURRENT);
但混合后的效果有问题,按理说混合后部分的下面应该是白色,但现在却和源色没什么区别?这是怎么回事啊,请高手指点.
|
|