Direct3D---Alpha混合技术

alpha混合颜色的公式变为:

color = (RGBsrc * Ksrc) + (RGBdst * Kdst)

Objects_Init()末尾,在Windows窗口创建后调用

// 三步曲之一,开启Alpha融合
    g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
    //三步曲之二,设置融合因子
    g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);      //源融合因子,(As, As, As, As)。D3DBLEND_SRCCOLOR---(Rs, Gs, Bs, As)
    g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);  //目标融合因子,( 1 - As, 1 - As, 1 - As, 1 - As)
    //三步曲之三,设置融合运算方式
    g_pd3dDevice->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD);  //这句设置运算方式为D3DBLENDOP_ADD的代码Direct3D默认为我们写了,所以注释掉这句也没大碍

你可能感兴趣的:(游戏)