Как это сделать в 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);
Но это сделает мой полигон неким призрачным методом, я могу видеть сквозь все мои полигоны! я просто хочу сделать текстуру с альфа-каналом, чтобы показать сквозь эти полностью прозрачные кусочки текстуры. это работает с alphatest, но он по-прежнему показывает черные края, поэтому я предполагаю, что смешивание не включено, даже если я установил D3DRS_ALPHABLENDENABLE! Что я делаю не так?