|
|
我想在D3D下帖纹理的时候,实现饱和加的效果,
就象在2D下,把一个不带alpha通道的位图用饱和加的方式帖到背景上一样,2D下主要用这种方式实现魔法光影一类的效果。
那么在D3D下呢?我现在用D3D的多边形来实现2D游戏,在帖纹理的时候,alpha、加亮什么的都实现了。唯独这个饱和加不知道该怎么设置混合因子。
g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
g_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE );
g_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE );
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
这样的多重渲染可以实现加亮,感觉就是饱和加的方式,但是他加亮的一层是基于第一次渲染的纹理的。如果只是渲染一次纹理,要饱和加到背景上该怎么做呢?
[em24] |
|