如何在 DirectX 中做到这一点?
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
不知何故,我似乎无法让它工作。我使用代码:
d3ddev->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
d3ddev->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
d3ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, 1);
d3ddev->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
d3ddev->SetRenderState(D3DRS_ALPHAREF, (DWORD)50);
d3ddev->SetRenderState(D3DRS_ALPHATESTENABLE, 1);
但它会用某种幻影方法渲染我的多边形,我可以看穿我所有的多边形!我只想制作带有 alpha 通道的纹理,以显示那些完全透明的纹理。这适用于 alphatest,但它仍然显示黑色边缘,所以我猜混合没有启用,即使我设置了 D3DRS_ALPHABLENDENABLE !我做错了什么?